본문 바로가기
Java 강의

내부 클래스 익명 클래스

by 자유코딩 2017. 10. 18.

익명클래스란?
클래스의 선언과 객체의 생성이 동시에 되는 클래스
1개의 객체만을 생성하고 1번만 사용된다
이름이 없는 클래스, 인스턴스처럼 생성되고 소멸되는 클래스이다

익명클래스 용도
클래스를 새로 하나 구현하는 것이 더 큰 비용이 소모될때 쓴다
하나의 객체에 대해서 1회 사용하려 할때 사용한다
구조가 간단한 클래스에서 쓰일 수 있다


익명클래스 선언방법
클래스이름 인스턴스이름 = new 클래스이름(){
 메소드,필드
};

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
package Day14;
//무명 클래스(익명 클래스)
//이름이 있는 클래스의 경우
interface Remoteable{
    void turnOn();
    void turnOff();
}
class Tv implements Remoteable {
    @Override
    public void turnOn() {
    }
    @Override
    public void turnOff() {
    } 
}
public class AnonymousClassTest {
    public static void main(String[] args) {
        
        Remoteable tvRemo = new Remoteable() {    
            @Override
            public void turnOn() {
                System.out.println("Tv 켜기");
                // TODO Auto-generated method stub
            }
            @Override
            public void turnOff() {
                System.out.println("TV 끄기");
                // TODO Auto-generated method stub
            }
        };
        tvRemo.turnOff();
        tvRemo.turnOn();
    }
}
cs

 

 

내부 무명 클래스

이름이 없는 내부 클래스 - 이름이 있는데 왜 이름이 없다고 하는 것인가

클래스 안에서 구현 된 클래스이다

대부분 기존 클래스의 오버라이딩이나 추상클래스의 추상메소드 구현

인터페이스의 추상메소드 구현을 목적으로 한다

 

 

댓글