반응형

 

자바 - 익명클래스

 

자바-익명클래스

 

   목차

  1. 익명클래스란?
  2. 익명클래스 생성방법
  3. 사용예제

 

 

1. 익명클래스란?

 

익명클래스란 이름이 없는 클래스로, 객체 사용시에 클래스의 선언과 객체 생성이 동시에 이루어집니다. 

일회성으로 딱 하나의 객체만 필요할 경우 사용됩니다. 

 

 

 

2. 익명클래스 생성방법

 

익명클래스는 말그대로 이름이 없는 클래스이기 때문에 본인의 클래스 이름은 없습니다. 하지만 익명클래스 또한 상속받을 부모클래스 또는 인터페이스에 대해서는 어딘가에는 명시해 주어야합니다. 그래서 익명클래스 생성시에는 상속받을 부모클래스 또는 구현할 인터페이스 이름과 함께 선언하며, 클래스정의 및 객체생성의 두단계를 거치지 않고, new 연산자로 객체 생성과 동시에 {  } 안에 아래와 같은 형식으로 클래스 내용을 정의합니다.

 

  • 부모클래스이름 변수명 = new 부모클래스 이름 {  ... 내용 구현 ...  };
  • 인터페이스이름 변수명 = new 인터페이스 이름 {  ... 내용 구현 ...  };

 

참고로, 모든 클래스의 조상 클래스는 Object클래스이며, 당연한 이야기지만 부모클래스 또는 인터페이스에 추상메소드가 포함되어 있을 경우 해당 추상메소드를 오버라이드 하여 정의후 사용해야 합니다.

   

 

 

3. 사용예제

 

1) 클래스 및 인터페이스 정의

public class Person { 

	String name;
	
	public Person(String name) {
		this.name = name;
	}
	
	public void speak() {
		System.out.println("내용없음");
	};
}


interface Dancer {
	void dance();
}

 

2) 객체 생성 및 실행

public class HelloWorld {
	public static void main(String[] args) {
		
		Person p1 = new Person("홍길동") {
			@Override
			public void speak() {
				System.out.println(name + "입니다");
			}
		};
		p1.speak();
		
		
		Dancer d1 = new Dancer() {
			@Override
			public void dance() {
				System.out.println("춤을춥니다");
			}
		};
		d1.dance();
	}
}

 

3) 실행결과

홍길동입니다.
춤을춥니다.

 

반응형

+ Recent posts