JAVA/chapter01_JAVA_개념정리
chapter18_interface
GAWON
2023. 5. 31. 18:16
1.1 인터페이스 (interface)
- 객체의 사용 방법을 정의한 타입으로, 개발 코드와 객체가 서로 통신하는 접점 역할을 한다.
- 개발 코드가 인터페이스의 메소드를 호출하면 인터페이스는 객체의 메소드를 호출한다.
그렇기 때문에 개발 코드는 객체의 내부 구조를 알 필요가 없고 인터페이스의 메소드만 알면 된다.
- 인터페이스는 추상메소드의 모음이다(추상 클래스가 인터페이스로 발전)
- 특정 규칙을 지킨 추상클래스가 인터페이스이다.
- 작업지시서 역할을 수행한다.
1.2 인터페이스의 특징 (★추상 클래스와 차이)
- 상수와 메소드만을 구성 멤버로 갖는다.★
- 생성자를 가질 수 없다.★
- 상수는 반드시 선언과 동시에 초기값을 지정해야 한다.
- 메소드는 실행 블록이 필요없는 추상 메소드로 선언한다.
- 인터페이스가 되기 위한 규칙
1) public final static 상수 만 선언 할 수 있다. (고정된 값)
2) public abstract 리턴타입 메소드명() ; 만 선언 할 수 있다. - 추상 메소드
3) public default 리턴타입 메소드명(){ } 도 추가 할 수 있다.(단, jdk1.8 이후) - 디폴트 메소드
4) public static 리턴타입 메소드명(){ } 도 추가 할 수 있다.(단, jdk1.8 이후) - 클래스 메소드
★ - 인터페이스는 상속(extends) 받지 않고, 구현(implements)한다.
★ - 상속도 받고, 구현도 하면 => 다중 상속의 효과를 낼 수 있다.
★ - 여러 인터페이스의 다중 구현이 가능하다.
)예시
interface A { }
interface B { }
interface C implements A, B { }
1.3 인터페이스 구현
- 객체는 인터페이스에서 정의된 추상메소드와 동일한 이름, 매개타입, 리턴타입을 가진
실체 메소드를 가지고 있어야 한다.(오버라이딩 해야한다)