[JAVA] 상속 / 컴포지션
·
JAVA
상속 부모클래스에서 정의된 필드와 메소드를 자식이 물려받는 것 자식클래스에서 extends를 선언하여 상속을 받을 수 있으며, 부모클래스는 하나만 정의가 가능 객체지향프로그래밍의 특징인 캡슐화를 깨뜨림, 부모클래스의 정의가 변경되면, 하위클래스도 변경하기 때문 캡슐화를 깨뜨리는 단점때문에 왠만한 상황에서는 컴포지션으로 푸는 것이 좋음 (오류낼 가능성 있음) 컴포지션 private 필드를 통하여 기존의 클래스가 새로운 클래스의 구성요소(인스턴스로)로 쓰이는 것 새로운 클래스에 기존 클래스의 영향이 적어, 기존 클래스가 변경되어도 안전함 (변화에 유연함) 예시 /* 부모클래스 */ public class Notebook { public void on() { System.out.println("전원동작"); ..