1. 추상클래스란?
- 클래스이긴 클래스인데 구체화 되지 않은 클래스
- 인터페이스의 특징들을 어느정도 가지고 있는 클래스
- 클래스와 인터페이스의 몇가지 기능들을 결합해서 만든 클래스
- 클래스의 공통된 부분을 뽑아서 별도의 클래스(추상클래스)로 만들어 놓고, 이것을 상속해서 사용한다.
abstract 클래스의 특징
// 빨간색 글씨는 인터페이스와 반대
- 멤버 변수를 가진다.
- abstract 클래스를 상속하기 위해서는 extends를 이용한다.
- abstract 메서드를 가지며, 상속한 클래스에서 반드시 구현해야 한다.(이부분이 인터페이스와 비슷)
- 일반 메서드도 가질 수 있다.
- 일반 클래스와 마찬가지로 생성자도 있다.
2. 추상클래스 구현
3. Bank 추상클래스
- 공통된 부분을 추상클래스로
- 공통된 부분은 각자 알아서 구현할 수있게
4. 인터페이스 vs 추상클래스