인터페이스 구현(2)
2022. 4. 15. 20:25ㆍjava/java
*익명 구현 객체
1)명시적인 구현 클래스 작성을 생략하고 바로 구현 객체를 얻는 방법
-이름이 없는 구현 클래스 선언과 동시에 객체를 생성한다.
인터페이스 변수 = new 인터페이스() {
//인터페이스에 선언된 추상 메소드의 실체 메소드 선언
}; <-- 인터페이스의 생성자가 아니라 익명 클래스 객체의 생성자임
-인터페이스의 추상 메소드들은 모두 재정의하는 실제 메소드가 있어야 한다.
-추가적으로 필드와 메소드를 선언할 수 있지만 익명 객체 안에서만 사용할 수 있고,
인터페이스 변수로 접근할 수 없다.
2)주로 사용되는 곳
-ui 프로그래밍(Swing, Android)에서 이벤트를 처리하기 위해 주로 사용
-임시 작업 스레드를 만들기 위해 사용
-자바8부터 지원하는 람다식은 내부적으로 익명 구현 객체를 사용
3)익명 구현 객체도 클래스(바이트 코드) 파일을 가지고 있다.
-클래스$번호.class 파일명으로 생성된다.
(익명 구현 객체의 수에 맞게 번호가 올라간다.)
*다중 인터페이스 구현 클래스
public class 구현클래스명 implements 인터페이스 A, 인터페이스 B {
//인터페이스 A에 선언된 추상 메소드의 실제 메소드 선언
//인터페이스 B에 선언된 추상 메소드의 실제 메소드 선언
}
'java > java' 카테고리의 다른 글
인터페이스 상속 (0) | 2022.04.19 |
---|---|
인터페이스의 다형성 (0) | 2022.04.19 |
인터페이스 구현(1) (0) | 2022.04.15 |
인터페이스 선언 (0) | 2022.04.14 |
인터페이스의 역할 (0) | 2022.04.14 |