백엔드/Java
[Java] 상속(Inheritance)과 합성(Composition)
상속과 합성의 개념 상속(Inheritance) 부모 클래스와 자식 클래스 사이의 의존성은 컴파일 타임에 해결 is-a 관계 부모클래스의 구현에 의존 결합도가 높음. 클래스 사이의 정적인 관계 부모 클래스 안에 구현된 코드 자체를 물려받아 재사용 합성(Composition) 두 객체 사이의 의존성은 런타임에 해결 has-a 관계 구현에 의존하지 않음. 내부에 포함되는 객체의 구현이 아닌 인터페이스에 의존. 객체 사이의 동적인 관계 포함되는 객체의 퍼블릭 인터페이스를 재사용 상속(Inheritance)이란 클래스 상속을 통해 자식 클래스는 부모 클래스의 자원을 물려받게 되며, 부모 클래스와 다른 부분만 추가하거나 재정의함으로써 기존 코드를 쉽게 확장할 수 있다. 그래서 상속 관계를 is-a 관계라고 표현하..