상속과 구현

상속과 구현은 재사용 방식과 계약 방식이 다릅니다

extends는 부모 클래스의 상태와 동작을 물려받고, implements는 인터페이스가 요구하는 형태를 클래스가 지키도록 만듭니다.

상속

부모 기능 재사용

공통 속성과 메서드를 부모 클래스에 두고 자식 클래스가 확장합니다.

extends
오버라이드

동작 재정의

자식 클래스는 필요한 경우 부모 메서드를 자신의 맥락에 맞게 바꿀 수 있습니다.

override
구현

인터페이스 계약 준수

클래스가 특정 메서드와 속성을 반드시 갖도록 타입 검사를 받습니다.

implements
상속 계층 경계

깊은 계층 경계

상속 계층이 깊어지면 결합이 강해지므로 계약 중심 설계도 함께 고려합니다.

계약