*인터페이스
-자식 클래스가 여러 부모 클래스를 상속받을 수 있다면, 다양한 동작을 수행할 수 있다는 장점을 가지게 될 것이다.
하지만 클래스를 이용하여 다중 상속을 할 경우 메소드 출처의 모호성 등 여러 가지 문제가 발생할 수 있어 자바에서는 클래스를 통한 다중 상속은 지원하지 않는다.
-하지만 다중 상속의 이점을 버릴 수는 없기에 자바에서는 인터페이스라는 것을 통해 다중 상속을 지원하고 있다.
-인터페이스(interface)란 다른 클래스를 작성할 때 기본이 되는 틀을 제공하면서, 다른 클래스 사이의 중간 매개 역할까지 담당하는 일종의 추상 클래스를 의미한다.
-자바에서 추상 클래스는 추상 메소드뿐만 아니라 생성자, 필드, 일반 메소드도 포함할 수 있다.
-인터페이스(interface)는 오로지 추상 메소드와 상수만을 포함한다.
상수 : 모든 필드는 자동으로 상수(final static)으로 변환
메소드 : 모든 메소드는 추상 메소드로 변경되며(abstract 자동으로 추가) 상속 받은 클래스에서 구현 해야 함
디폴트 메소드 : 구현부를 가지고 있으며, 상속 받은 클래스에서 재정의 하여 사용 가능
정적 메소드 : 객체와 상관없이 인터페이스 타입으로 사용 할 수 있다.
인터페이스의 선언
예제
'java' 카테고리의 다른 글
java (package, import문) (0) | 2022.09.27 |
---|---|
java (default method, annotation) (0) | 2022.09.27 |
java(추상 클래스) (0) | 2022.09.26 |
java (싱글톤) (0) | 2022.09.22 |
java (getter, setter, 정적 멤버와 메소드) (0) | 2022.09.21 |