익명클래스
추상클래스나 인터페이스에서 메소드가 하나이거나 굳이 class를 만들어서 상속을 받아 오버라이드를 할 필요가 없을 경우 익명클래스를 사용한다. 익명클래스의 특징은 임시적으로 구현된 객체이며 한번만 쓸 경우 대체로 익명클래스를 사용한다. 또한 1회성이기 때문에 다른 곳에서는 쓸 수 가 없다.
익명클래스 예시
인터페이스
package j22_익명클래스;
public class Addition implements Calculator {
@Override
public int calc(int x, int y) {
return x + y;
}
}
추상클래스
package j22_익명클래스;
public interface Calculator {
public int calc(int x, int y);
}
main
package j22_익명클래스;
public class Main {
public static void main(String[] args) {
Calculator c1 = new Addition();
System.out.println(c1.calc(10, 20));
/////////////////////////////////////
//임시적으로 구현된 객체 -> 익명클래스라고 함 (한번만 쓰는 경우 익명클래스를 이용한다)
//다른 곳에서는 쓰지 못함 딱 여기서만 쓸 수 있다. 1회성
//인터페이스와 추상클래스 또한 익명클래스를 쓸 수 있다.
Calculator c2 = new Calculator() {
@Override
public int calc(int x, int y) {
// TODO Auto-generated method stub
return x - y;
}
};
System.out.println(c2.calc(200, 100));
}
}
인터페이스와 추상클래스 또한 익명클래스를 쓸 수 있다.
'Language > Java' 카테고리의 다른 글
[Java] 추상클래스와 인터페이스 차이점 (1) | 2023.09.15 |
---|---|
[Java] Class 형변환 (0) | 2023.09.14 |
[Java] Class의 생성자(Constructor) 및 접근 지정자 (0) | 2023.09.13 |
[Java] Class와 객체지향언어(OOP) (0) | 2023.09.13 |
[Java] Method(함수) (0) | 2023.09.12 |