[java] 익명 클래스 사용 규칙

이번 포스트에서는 자바에서 익명 클래스를 사용할 때의 규칙에 대해 알아보도록 하겠습니다.

익명 클래스란 무엇인가요?

우선 익명 클래스란 이름이 없는 클래스를 말합니다. 보통 인터페이스나 추상 클래스를 구현하거나 확장하는 형태로 사용됩니다.

익명 클래스 사용 규칙

  1. 클래스와 인터페이스 구현: 익명 클래스는 인터페이스나 추상 클래스를 구현하는 용도로 사용됩니다.

    InterfaceExample interfaceExample = new InterfaceExample() {
        // 익명 클래스의 구현 내용
        // ...
    };
    
  2. 하나의 인스턴스 생성: 익명 클래스는 한 번만 사용될 것이라고 가정하고 딱 한 번 생성하고 사용해야 합니다.

    MyInterface myInterface = new MyInterface() {
        // 익명 클래스의 구현 내용
        // ...
    };
    
  3. 외부 변수 접근: 익명 클래스 안에서 외부의 변수에 접근할 때는 그 변수는 final 혹은 effectively final 이어야 합니다.

    final int count = 0;
    MyInterface myInterface = new MyInterface() {
        public void doSomething() {
            System.out.println(count);  // 외부 변수에 접근
        }
    };
    
  4. 생성자 호출: 익명 클래스는 생성자를 호출할 수 없습니다.

결론

의존성이 적은 간단한 클래스나 인터페이스 구현에 사용되는 익명 클래스는 위와 같은 규칙을 준수하여 사용해야 합니다.

더 자세한 내용은 자바 공식 문서에서 확인할 수 있습니다.