추상클래스
추상메소드(abstract method)
- 선언은 되어 있으나 구현되어 있지 않은 메소드
- abstract로 선언
- 추상메소드는 서브클래스에서 오버라이딩 하여 구현해야 한다.
- 추상메소드를 오버라이딩 하지 않으면 다른 메소드가 추상클래스가 될 수 있다.
추상클래스의 두 종류
- 추상메소드를 하나라도 가진 클래스
-반드시 abstract로 선언되어야 한다.
- 추상 메소드가 하나도 없지만 abstract로 선언된 클래스
추상클래스의 상속 2가지 경우
- 추상클래스의 단순 상속
- 추상클래스를 상속받아, 추상 메소드를 구현하지 않으면 추상클래스가 된다.
- 서브클래스도 abstract로 선언해야 함
- 추상클래스 구현 상속
- 서브클래스에서 슈퍼클래스의 추상메소드 구현(오버라이딩)
- 서브클래스는 추상클래스가 아님
추상클래스 간 참조변수 생성 가능
래퍼런스 변수 없으면 업캐스팅 안됨.