인터페이스

    [Java] 추상 클래스와 인터페이스 (abstract class & interface)

    Java 추상 클래스와 인터페이스는 기능적으로 아주 유사하다. Java를 공부하면서 이 둘이 왜 나눠졌는지 이해하는건 자바 언어의 철학을 이해하는데 한 걸음 다가간다고 생각했다. 따라서 둘의 공통점 및 구분되는 특징을 조사해보고 인터페이스, 추상 클래스를 사용하는 클래스 다이어그램을 설계하고 코드로 실습을 해 보았다. 인터페이스의 특징 - 동일한 기능을 가지는 객체들에 대한 기능적인 '틀'을 제공한다. A(자식) Has a B(부모) - 다중 상속이 가능하다. - 하나의 규칙으로 적용된다. - 자식 요소들과 Has a (~할 수 있는) 관계를 가진다. (자식들이 공통된 기능을 가진다.) - 즉, 상속 받는 객체들이 할 수 있는 '기능'에 대해 미리 정의한다. - 주로 '~able'로 끝나도록 명명한다. ..