본문 바로가기

JAVA

[ JAVA / 자바 ] 추상클래스란? 추상클래스의 사용법

추상클래스란 ?

: 하나 이상의 추상 메소드를 포함하는 클래스이다. 추상 메서드는 선언만 하고 구현하지 않은 메서드로 abstract를 명시한다.

 

• 추상 클래스 사용법

- 클래스 정의 시 abstract를 명시한다.

- 추상 메서드를 하나 이상 포함한다. 

- 추상 클래스는 완전하지 않기 때문에 객체를 생성할 수 없다.

- 하위 클래스에서 상속 받은 모든 추상 메서드를 구현하면 객체를  생성할 수 있다.

- 하위 클래스에서 추상 메서드를 모두 구현하지 않으면 추상 메서드가 하나라도 구현하지 않은 상태로 남아 있으면 그 하위 클래스도 추상 클래스이다.

- 추상 클래스는  하위 클래스의 공통점을 뽑아 상속해줄 목적으로 만들고, 하위 클래스에 기본 틀을 제공한다.

 

• 추상 클래스 예제

// GrandParent.java

public abstract class GrandParent {

	String name;
	int age;
	
	// 함수를 만드는데
	// 함수를 이름만 만들어 놓는다.
	
	abstract void print();
	
	abstract void test();
}

 

// Parent.java


public abstract class Parent extends GrandParent {

	// String name;
	// String age;
	
	// 추상클래스를 상속받아서 개발하는 클래스는
	// 추상클래스의 모든 추상함수를 다 구현해 주어야 한다.
	
	@Override
	void print() {

		System.out.println("Parent");
		System.out.println("name : " + name);

	}

}

 

// Child.java


public class Child extends Parent {

	// String name;
	// int age;
	
	String hobby;
	
	@Override
	void test() {

		System.out.println("Hobby : " + hobby);

	}

}

 

// AbstractMain.java


public class AbstractMain {

	public static void main(String[] args) {

		Child c = new Child();
		c.name = "홍길동";
		c.age = 23;
		c.hobby = "넷플릭스 보기";
		
		c.print();
		c.test();
	}

}