LANGUAGE/JAVA
[JAVA] ANONYMOUS - 익명
진심스테이크
2019. 7. 16. 16:29
Anonymous (익명) : 이름이 없는 것
Anonymous class (익명 클래스) : 이름이 없는 클래스
- 함수를 바로 구현해서 사용
Anonymous Fuction (익명 함수) : 이름이 없는 함수
- 함수 인수로 코드를 전달할 때 사용
Anonymous Object (익명 객체) : 이름이 없는 객체
- 객체를 생성하지 않고 사용
- 객체가 없어서 메모리가 만들어져도 바로 사라짐
- 보통 한번 쓰고 말 때 사용
- interface 구현
interface Apple13 {
void func01();
}
- 익명 클래스
Apple13 a13 = new Apple13() {
public void func01() {
System.out.println("Apple13");
}
};
a13.func01(); // 함수 호출
- 익명 객체
new Apple13() {
public void func01() {
System.out.println("Apple13-1");
}
}.func01(); // 함수 호출
- 익명 함수
class Banana13 {
void func02(Apple13 apple13) {
System.out.println("1");
apple13.func01(); // 익명 함수 호출
}
}
public class Ex13 {
public static void main(String[] args) {
Banana13 b13 = new Banana13();
b13.func02(new Apple13() {
public void func01() {
System.out.println("2");
}
});
System.out.println("------------");
b13.func02(new Apple13() {
public void func01() {
System.out.println("3");
}
});
}