본문 바로가기
  • 개발자를 꿈꾸는 중
Java

익명 이너 클래스 [annonymous inner class]

by 느보리 2022. 5. 3.
반응형

익명 이너 클래스 

  • 이름을 알 수 없는 이너 클래스
  1. 인터페이스는 객체 생성이 불가하니 익명 이너 클래스를 사용해 C 타입의 객채생성 뒤에 중괄호를 이용
  2. 중관호 안에 메소드를 구현
interface C{
	public abstract void bcd();
	
}
class A{
// C 타입의 생성자 호출
	C b = new C(){
    	//추상 메서드 구현
    	public void bcd(){
        }
    };
	// 이 메소드는 메인 메소드에서 A의 객체를 생성한 후 사용할 수 있다.
    void abc(){
    	b.bcd();
    }
}

 

인터페이스 타입의 입력매개변수 전달

interface A{
	public abstract void abc();
}

class B implements A{
	public void abc() {
		System.out.println("매개변수 전달");
	}
}

class C{
	void cde(A a) {				//
		a.abc();
	}
}
C c =new C();

// 1. A 타입의 자식 클래스 객체 생성
A a1 = new B();
c.cde(a1);

//2. 입력매개변수 위치에 바로 B클래스 객체생성
c.cde(new B());



//3. 익명 이너 클래스 사용
A a = new A(){
	public void abc(){
    
    }
    c.cde(a);
}


//4. 입력매개변수 위치에 바로 익명 이너 클래스 사용
c.cde(new A(){
		public void abc(){
        }
    });
반응형

'Java' 카테고리의 다른 글

예외/에러 [Exception/Error]  (0) 2022.05.04
이너 인터페이스[inner Interface]  (0) 2022.05.03
Interface  (0) 2022.05.02
상속(..extends..)  (0) 2022.04.29
이너 클래스[inner class]  (0) 2022.04.29