기록장

익명 클래스 본문

Programming/JAVA

익명 클래스

HJJJJJ 2022. 5. 29. 15:53
728x90
package sec02.exam01;

public class AnonymousExample {

	public static void main(String[] args) {
		Anonymous anony = new Anonymous();
				//익명 객체 필드 사용
		anony.field.wake();
		//익명 객체 로컬 변수 사용
		anony.method1();
		//익명 객체 매개값 사용
		anony.method2(
				new Person() {
					void study() {
						System.out.println("공부합니다");
					}
		@Override
		void wake() {
			System.out.println("8시에 일어닙나디");
			study();
		}
		}
);
	}

}​
package sec02.exam01;

public class Person {
	void wake() {
		System.out.println("7사에 일어납니다");
	}
}

익명 클래스

이름이 없는 일회용 클래스, 정의와 생성을 동시에

이름이 없으니 조상이름을 대신 쓴다 

package sec02.exam01;

public class Anonymous {
	//필드 초기값으로 대입
	Person field = new Person() {
		void work() {
			System.out.println("출근합니다");
		}
		@Override
		void wake() {
			System.out.println("6시에 일어납니다");
			work();
	}
};

void method1() {
	//로컬 변수값으로 대입
	Person localVar = new Person() {
		void walk() {
			System.out.println("산책합니다");
		}
		@Override
		void wake() {
			System.out.println("7시에 일어납니다");
			walk();
		}
	};
	//로컬변수사용
	localVar.wake();
}

void method2(Person person) {
	person.wake();
}
}

 

 

728x90

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

이스케이프 문자/Math  (0) 2022.12.19
생성자  (0) 2022.11.26
필드의 다양성 코드 짜봄  (0) 2022.05.22
인터페이스  (0) 2022.05.22
추상클래스 코드  (0) 2022.05.22
Comments