TIL-210804

박건희·2021년 8월 5일

Keyword : Interface, default method, functional Interface, Lambda expression(익명 클래스, 익명 함수)

  • Interface는 왜 쓰는지
  • default method의 등장이유
  • functional Interface란
  • Lambda expression은 어떻게 작성하는지

Interface 부분은 이전에 Java 프로그래밍에서 사용한적이 거의 없고, 굉장히 기초적인 부분만 공부해서 강의 내용을 모두 이해하기에 부족했다. 자바의 정석 Chap7 7.5~8.5(inner class 제외)를 한시간 정도 읽으니 Interface와 조금 더 가까워진 것 같다. 아무래도 예제(스* 게임)로 이해하는게 빨랐다.

객체지향 프로그래밍을 잘 하려면 추상화 를 잘 하는것이 중요하다고 들었는데, 왜 인지 알게되었다. 구체적인 대상으로 작업하려면 그 대상별로 각각 다뤄야 하고 이 것은 컴퓨터가 일하는 방식에서는 적절하지 않다. 구체적인 것들에서 공통점을 뽑고(공통점이 없더라도) 외부와 약속(Interface)을 하면 외부와 내부는 독립적으로 각자의 일을 하면 된다.

Interface를 왜 쓰고, 어떻게 잘 쓸지는 단번에 이해하는 개념은 아닌 것 같다. 프로젝트에 적용해보면서 그 쓰임새를 직접 느끼면서 더욱 잘 이해하도록 해야겠다.

** 예제들을 보며 Top-down(Interface 구현 강제)과 Bottom-Up(Class, Interface 들의 공통점을 추상화)식의 설명이라는 느낌이 들었다(이것도 설명하는 방식의 차이일 수 있지만). 대상을 추상화 해놓은 것이니 딱 떨어지는 설명은 없다고 생각하는데, Interface를 더 잘 이해하고 싶다.

0개의 댓글