인터페이스 구현(2)

2022. 4. 15. 20:25java/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