티스토리 뷰

JAVA/정리

익명 클래스

란텔 2016. 4. 7. 21:11

익명클래스는 인스턴스 생성시 이름이 없는 클래스이다.


익명 클래스는 클래스, 인터페이스가 그 대상이 된다.


클래스의 선언과 인스턴스 생성을 동시에 하기 때문에 한번만 사용되며, 하나의 객체만을 생성한다는 특징이 있다.


익명클래스 형태

new 조상클래스이름{}

new 인터페이스이름{}


이름이 없기 때문에 생성자도 가질 수 없다.


일반적인 클래스와는 달리 상속과 구현을 동시에 할 수 없으며 오로지 하나의 인터페이스를 구현하거나 하나의 클래스를 상속 받을 수 있다.

System.out.println(new Layout(){
            void test(){
                System.out.println(i);
            }
            
             void tests(){
                System.out.println(222);
            }
        });

위의 결과는 패키지명,메인클래스이름$1@15db9742 형식으로 출력된다. 결과적으로 new Layout()으로 했지만 실제로 Layout이라는 클래스는 아니다.


Layout layout참조변수에 위의 출력문을 걷어내고 익명클래스 선언을 참조해도 익명클래스의 멤버는 사용할 수 없다.


웹프로그램에서는 거의 사용하지 않는다.


안드로이드나 GUI프로그래밍시 자주 쓰인다.




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

[Lambda Expression] 람다식  (0) 2016.05.02
[generics] 제네릭스  (0) 2016.04.21
Thread  (0) 2016.01.14
clone() 에 대하여...  (0) 2015.07.04
자바7  (0) 2014.11.26
Comments
최근에 올라온 글
최근에 달린 댓글
TAG
more
Total
Today
Yesterday