티스토리 뷰

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");
        }
    });
}

 

'LANGUAGE > JAVA' 카테고리의 다른 글

[JAVA] LINKED LIST  (0) 2019.07.22
[JAVA] LAMBDA EXPRESSION - 람다식  (0) 2019.07.18
[JAVA] 삼항연산자  (0) 2019.07.12
[JAVA] ANONYMOUS OBJECT - 익명 객체  (0) 2018.06.28
[JAVA] 중첩 클래스  (0) 2018.06.27
댓글