▸JAVA/기본 문법

익명 클래스 (Anonymous Class)

코데방 2019. 12. 10.
728x90

[ 익명 클래스 ]

  • 별도의 클래스를 만들지 않고 인스턴스 생성과 동시에 오버라이딩 수행
  • 일회성 오버라이딩이라고 할 수 있음

본래 한 클래스에 있는 메소드를 오버라이딩 하기 위해서는 다른 클래스에서 상속 후 오버라이딩 해야합니다. 하지만 일회성으로 오버라이딩을 하기 위해 상속받은 클래스를 새로 만드는 것은 매우 비효율적입니다. 이럴 경우 인스턴스 생성과 동시에 필요한 부분을 오버라이딩 하는 방법이 익명 클래스입니다.

 


 

문법은 간단합니다. 클래스 하나를 인스턴스로 만들고 대괄호를 열고 닫아서 필요한 부분을 오버라이딩 하면 됩니다. 대괄호 뒤에는 세미콜론(;)이 붙어야 합니다. 오버라이딩만 가능하고 새로운 메소드를 추가할 수는 없습니다.

 

package study.first;

public class Study {

	public static void main(String[] args) {

		Test t = new Test() {

			void print() {

				System.out.println("익명 클래스에서 오버라이딩");
			}

		};

		t.print();
		t.test();

	}
}

class Test {

	int a = 1;
	String b = "abc";

	void print() {

		System.out.println("부모 클래스 print 메소드");

	}

	void test() {

		System.out.println("부모 클래스 test 메소드");
	}
}
728x90

댓글

💲 추천 글