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();
 }
 
}

Posted by 말없제이
,