[TIL] #11 protected, Abstract class, Interface
추상 클래스
- 클래스가 설계도라면, 추상클래스는 미완성된 설계
- 표준화 시킬 때 사용될 수도 있음
추상 클래스의 필드는 protected? private?
- 해당 클래스의 필드가 외부 클래스에서도 쓰인다면
private
로 선언하여 getter, setter를 사용
- 자식 클래스에만 쓰인다면
protected
로 선언하여 직접 접근
추상 클래스도 생성자를 만들 수 있다.
- 자식 클래스에서
super()
를 호출할 때 부모 클래스(추상 클래스)의 생성자가 호출됨
- 추상 클래스에 부가적인 작업이 필요하다면, 생성자로 해줄 수도 있을 것 같다.
인터페이스
- 두 객체를 연결해주는 다리 역할
- 구현 클래스들의 동일한 사용 방법과 행위를 보장
default, static
- 인터페이스에 선언된 추상 메소드는 자동으로
public static
이 붙는다.
default
와 static
메소드는 미리 정의해줄 수 있다.