728x90

[익명클래스]

익명 클래스는 이름 없는 클래스라고 한다.

클래스 내에서 클래스를 정의할 수 있으며, 클래스 내부에 정의 되기 때문에 내부 클래스라고도 한다.

간단한 기능을가진 클래스를 임시로 정의하고 사용할 때 편리하고,

클래스를 따로 정의하지 않고도 필요한 동작을 구현할 수 있어 코드의 가독성과 유지보수에 편리하다는 장점이있다. 

 

[익명클래스 선언 방법] 

<방법 1>

public static void main(String[] args) {

    Phone phone = new Phone(){
        @Override
        public void type(String type){
            super.type(type);
        }
    };
    
    phone.type("아이폰");

}

class Phone{

    public void type(String type){
        System.out.println("이 휴대폰의 기종은 " + type + " 입니다.");
    }

}

    

<방법 2>

public static void main(String[] args) {

    HowToMadePasta pasta = madePasta();
    pasta.made();

    // 클래스안에서 익명 클래스 선언
    private static HowToMadePasta madePasta(){
        return new HowToMadePasta(){
            @Override
            public void made(){
                System.out.println("파스타 레시피 입니다.");
            }
        }
    }

}

// 클래스 생성 
abstract class HowToMadePasta{
	public abstract void made();
}
<부모클래스 혹은 인터페이스> 변수명 = new <부모클래스 혹은 인터페이스>() {

	// 익명 클래스 내용

} ;

위와 같이 선언하여 사용할 수 있다. 중괄호 내부에는 부모클래스 또는 인터페이스의 메서드를 오버라이드한다. 

728x90

'Java' 카테고리의 다른 글

함수형 인터페이스 (Functional Interface)  (0) 2023.06.13
람다식(Lambda)  (0) 2023.06.13
커피 가게 프로그램 만들기  (0) 2023.06.12
[Collection 프레임워크] - Iterator  (0) 2023.06.12
[Collection 프레임워크] - HashMap  (0) 2023.06.12

+ Recent posts