개발자 성장 일지

2022.03.16 Interpace 활용 <3단 구현>

NEWDODORIPYO 2022. 3. 16. 18:46

마지막 시간에  정말 중요한 내용 값비싼 내용들을 설명해 주셨습니다 

 

우선 시작은 상속보다는 조합을 사용해라!!!로 시작했습니다 

 

그래서 상속의 문제점에 관련해서 왜  Interpace 를 사용해야 하는가 그리고  Interpace는 어떻게 활용하는가에 대해서 지금부터 시작해 보겠습니다 

 

우선  Interpace 의 사용 중에 마킹용  Interpace 라는것이 있습니다 

마킹용  Interpace

 Interpace 는 점선으로 표시한다 

마킹용 interface는  전혀 의미가 없는 interface를 의미하는데 그 활용은 다른 종류의 전혀 다른 객체를 하나의 타입으로 묶기 위한 존재 <유연함>로 활용됩니다!!! 

 

그리고  Interpace 또 다른 활용 조합이라는 것이 있습니다 바로 처음에 말했던 상속보다는 조합을 사용해라 는 이곳에서 나온 이야기입니다 

 

상속의 단점 

 

이런 경우가 있다고 생각해 봅시다 이런 경우에 각각의 인원들이 필요한 기능들이 다를 수 있습니다 사장은 모든 기능을 사원은 조회 기능만 필요하다는 상황이 생길 수 있습니다 이런 경우세 만약 상속을 사용해서 구현하려고 한다면 오른쪽 아래처럼 상황에 따라 상속을 계속해서 만들어야 할 것입니다 지금은 기능이 몇 개 없지만 기능이 100개가 넘는다면 어떨까요?? 끔찍할 것입니다 이것이 바로 상속의 문제입니다 이런 상황을 물론 override로 해결할 수도 있을 것입니다 하지만 결국 결론은 똑같습니다... 각각 다른 상황에 맞게 override 해주는 것도 기능이 많아진다면 쓹데없는 일이 늘어나는 건 똑같은 겁니다 그래서 이런 상황에서  Interpace 를 사용하자는 것이지요 

조합

 

조합

상속의 문제를 해결하기 위한  Interpace 의 조합이라는 걸 설명해 보겠습니다 기능이라는  Interpace 를 통해서 직원은 필요한 부분만 불러서 사용할수 있게됩니다 이렇게 된다면 경우의 수가 늘어나도 전혀 복잡해지는 일이 없습니다 

이렇게 Interpace 가 유연합니다 그래서 자바 설계의 기본은 interface라고 말씀해주셨습니다 

 

interface+상속 3단 구현 

 

interface에서는 기능을 정의하고 기능의 공통의 코드는 상속을 통해 만들어 주면 상속의 장점도 누리면서 interface의 장점도 누리게 됩니다 이런 구현은 3단 구현이라고 합니다!!