카테고리 없음

5/2 - TIL - 추상클래스와 인터페이스

bugmin 2024. 5. 2. 21:21

금일은 감기로 인한 컨디션 난조로 간략하게 정보를 작성한다.

 

오늘 스파르타코딩클럽의 튜터님 강의를통해

 

추상클래스와 인터페이스의 대략적인 느낌을 알 수 있었다.

 

TIL을 쓰면서도 되게 고민되는 내용이였는데 약간의 감을 잡긴 한거 같다 허나 실습을 더 해야 정확한 감을 느낄 듯하다.

 

추상클래스는 NPC와의 대화를 생각하면 좋다. NPC와의 대화는 흐름이 비슷비슷하다.

 

이러한 비슷비슷한 흐름에대해 추상매서드를 여러개 넣어두고 자식한테 물려주면 자식이 이를 받고 어떠한 느낌으로 흘러가는 지에 대해 알고 추상메서드는 반드시 구현을 해야하기 때문에 구현을 하게 될 것이다.

 

진행 흐름을 표시할 수 있다는 점에서 인터페이스보다는 일단 클래스와 비교해보는 것이 좋다.

 

반면 인터페이스는 명세서 같은 것이다. 여러가지 결제 수단에 대해 IPay라는 인터페이스를 상속시키면 

 

오버로딩으로 모든 결제수단에 대해 메서드를 짜는 것이 아니라 IPay하나만으로 여러가지 결제 수단을 받을 수 있다.

 

물론 클래스 상속으로도 가능하긴 하지만 다중 상속이 안되기에 만일 일부 가게에서만 사용 가능한 기능을 인터페이스로 만들어두면

 

다중 인터페이스 상속을 통해 다양한 구현이 가능해진다.

 

무엇보다 무엇을 구현을 해야하는지 명세를 해주고 있기 때문에 

 

그것을 보고 물려받은 클래스에서 구현을 하면되기에 길을 해맬일이 적어진다는 것이다.