java

java (인터페이스)

소리소리솔소리 2022. 9. 26. 14:31

*인터페이스

-자식 클래스가 여러 부모 클래스를 상속받을 수 있다면, 다양한 동작을 수행할 수 있다는 장점을 가지게 될 것이다.

하지만 클래스를 이용하여 다중 상속을 할 경우 메소드 출처의 모호성 등 여러 가지 문제가 발생할 수 있어 자바에서는 클래스를 통한 다중 상속은 지원하지 않는다.

-하지만 다중 상속의 이점을 버릴 수는 없기에 자바에서는 인터페이스라는 것을 통해 다중 상속을 지원하고 있다.

-인터페이스(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