Java

추상 클래스 (Abstract Class)

yugyeong 2023. 1. 20. 13:17

추상 클래스

  • 클래스 정의시 abstract class로 정의한다.
  • 추상 메소드를 하나 이상 포함한다.
  • 추상 메소드는 선언만하고 구현하지 않은 메소드로 abstract 를 명시한다.
  • 추상 클래스는 완전하지 않기 대문에 객체를 생성할 수 없다.
  • 하위 클래스에서 상속 받은 모든 추상 메소드를 구현하면 객체를 생성할 수 있다.
  • 추상 메소드를 모두 구현하지 않을 경우, 하위 클래스도 모두 추상 클래스이다.
  • 추상 클래스는 하위 클래스의 공통점을 뽑아 상속해줄 목적으로 만들고, 하위 클래스에 기본 틀을 제공한다.

 

package Abstract;

// 부모 추상 클래스
public abstract class AbstractParent{
	String msg;
	public abstract void print();
}

// 자식 클래스, 추상 메소드 구현
public class AbstractChild extends AbstractParent{	
	@Override
	public void print() {
		System.out.println(msg);
	}
}

// 메인 클래스
public class AbstractMain {
	public static void main(String[] args) {
		AbstractParent p = new AbstractChild(); // 업캐스팅
		p.msg = "Hello";
		p.print(); // Hello
		 
		AbstractChild c = new AbstractChild();
		c.msg = "World";
		c.print(); // World
	}
}

'Java' 카테고리의 다른 글

정수 및 실수를 클래스로 생성하는 방법  (0) 2023.01.25
Interface (다중 상속)  (0) 2023.01.20
접근제어자(Access Modifier)  (0) 2023.01.19
super 키워드  (0) 2023.01.19
생성자란? / this 로 사용하는 멤버변수  (0) 2023.01.19