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 |