package ch07;
import ch05.sub.*;
public class Ch0710
{
public String message="멤버변수";
// 내부무명클래스 : 클래스는 클래스이데 이름이 없는 무명의 클래스로
// 한줄의 프로그래밍 코드안에 구현된 클래스이다.
// 용도는 새로운 클래스의 생성을 할 수 없으며,
//대부분 기존클래스의 오버라이딩이나 추상클래스의 추상메서드 구현 또는
//인터페이스에서 추상메서드의 구현을 목적으로 삼는다.
//(당연한 이야기지만 내부무명클래스 역시 메인클래스의 멤버변수, 멤버함수의 접근이
//자유롭다. 또한 모듈화 역시 불가능하다.)
public Ch0710()
{
// TODO 자동 생성된 생성자 스텁
RacingCar car = new RacingCar()
{
public void sayHello()
{
System.out.println("반가워요");
}
};
car.sayHello();
Protoss protoss = new Protoss()
{
public void shieldUpgrade()
{
System.out.println("천하무적 업그레이드");
}
};
protoss.shieldUpgrade();
//인터페이스에서의 추상메소드 구현예.
Unit u =new Unit()
{
public void attackUpgrade()
{
// TODO 자동 생성된 메소드 스텁
System.out.println("attackUpgrade");
}
public void defenseUpgrade() {
// TODO 자동 생성된 메소드 스텁
System.out.println("defenseUpgrade");
}
public void print() {
// TODO 자동 생성된 메소드 스텁
}
public void shieldUpgrade() {
// TODO 자동 생성된 메소드 스텁
System.out.println("shieldUpgrade : "+message);
}
};
u.attackUpgrade();
u.defenseUpgrade();
u.shieldUpgrade();
}
public static void main(String[] args)
{
new Ch0710();
}
}