-추상 메서드를 포함한 클래스
-추상 클래스는 new(인스턴스화) 할 수 없음
-추상 함수가 없어도 abstract를 사용하면 추상 클래스가 됨
추상 메서드를 하나라도 포함한 클래스는 추상클래스!
추상 클래스 문법
추상 메서들르 포함한 클래스
추상 클래스 안에는 추상 메서드와 구현된 메서드 둘다 존재
추상 클래스는 상속하기 위해 만든 클래스!
추상 클래스의 구현은 하위 클래스에서 공유 가능
추상 클래스로 정의된 상위 클래스
-하위 클래스에서 재사용될 메서드 구현
-하위 클래스가 각각 구현해야 하는 메서드는 추상 메서드로 선언
추상 클래스를 상속받은 하위 클래스
-상위 추상 클래스에서 선언된 추상 메서드를 반드시 구현해야 함
-상속받은 추상 메서드를 모두 구현하지 않으면 추상 클래스가 됨
추상메소드로는 인스턴스를 만들 수 없음
구현 코드가 없는 추상 클래스는 new 될 수 없음
final 사용시 하위 클래스의 메서드를 재정의 할 수 없음
final 예약어
1. final 메서드는 하위 클래스에서 재정의 불가
2. final 클래스는 더 이상 상속할 수 없는 클래스가 됨
추상 클래스로 선언된 상위 클래스에 템플릿 메서드를 활용해 전체적인 흐름을 정의하고 하위 클래스에 맞게 구현함
추상 클래스는 하위 클래스에서도 사용할 수 있는 코드 구현
시나리오를 정의할 수 있는 메서드를 구현해 놓으면 시나리오대로 진행
오오 멋져요!