[Java] 익명 클래스(anonymous class)
본문 바로가기
Java

[Java] 익명 클래스(anonymous class)

by IYK2h 2022. 12. 27.
728x90

이 글은 https://youtu.be/CXuA31XcBZ0 를 통해 개념 정리 후 복습용으로 정리한 글입니다.

문제시 바로 삭제하겠습니다.


 

익명 클래스(anonymous class)

  • 이름이 없는 일회용 클래스. 정의와 생성을 동시에
new 조상클래스이름() {
  // 멤버 선언
}
​
new 구현인터페이스이름() {
  // 멤버 선언
}
class anonymous {
  Object iv = new Object(){ void methd(){} };
  static Object cv = new Object(){ void methd(){} };
  
  void myMethod() {
    Object lv = new Object(){ void methd(){} };
  }
}

사용하는 이유

  • 프로그램 내에서 단발성으로 한 번만 사용되어야 하는 객체일 경우
    • UI 이벤트 처리, 스레드 객체, 단발성 이벤트 처리
  • 확장성을 활용하는 것이 유지보수에서 더 불리할 때

특징

  • 클래스를 별도로 만들 필요 없이 코드에서 익명객체를 생성/정의하여 단 한 번의 쓰임을 다하고 소멸한다.

구현 방법 2가지

  • 부모/자식 간 상속아래 익명 자식객체를 생성
    • 필드의 초기값
    • 로컬변수의 초기값
    • 매개변수의 매개값
  • 인터페이스를 구현한 익명 구현객체 생성
728x90

댓글