JAVA

상속(Inheritance)과 위임(Delegation) 방식

상속

- 두 클래스 사이의 관계가 'IS-A' 관계일 때 사용

위임

- 스프링 부트 프로젝트 개발을 진행해 보았다면 아래와 같은 형태를 많이 사용했을탠대 위와 같은 코드가 위임으로 Skill에 대한 처리는 SkillService에 위임하여 처리한다고 보면 된다.

 

무엇을 사용해야할까?

상속의 경우 부모 클래스와 자식 클래스 사이에 강한 연관 관계가 생겨 부모 클래스 동작이 변경되면 자식 클래스의 동작도 모두 영향을 받게 된다. 이러한 관계는 'IS-A'의 관계의 경우 자연스러운 편이지만 이 외에는 불필요한 종속성이 생기게 된다. 또한 'IS-A' 관계이더라도 사용성에 따라서 위임을 선택하는 것이 더 좋은 방법인 경우도 있다.

 

이 때문에 무분별한 상속을 사용하는 것은 올바르지 않으면 굉장히 제한적으로 사용해야한다.

'JAVA' 카테고리의 다른 글

Java의 직렬화(Serialize)  (0) 2021.06.26
자바 Enum 활용  (0) 2021.06.06
자바 final 키워드  (0) 2021.06.05
자바 예외 다루기 - 에러 처리 방식  (0) 2021.05.31
Error 와 Exception(Checked, Unchecked)  (0) 2021.05.31