자바의 정석 - 추상클래스의 작성(1)

송용준·2023년 3월 10일

추상클래스의 작성

  • 여러 클래스에 공통적으로 사용될 수 있는 추상클래스를 바로 작성하거나 기존 클래스의 공통 부분을 뽑아서 추상클래스를 만든다.


다형성의 2번쨰 장점인 하나의 배열에 여러객체를 담아서 한번에 이동

package Java;

public class ex {
	public static void main(String[] args) {
//		Unit[] group = { new Marine(), new Tank(), new Dropship() };  	객체배열 : 참조변수를 묶은것
		Unit[] group = new Unit[3];
		group[0] = new Marine();
		group[1] = new Tank();
		group[2] = new Dropship();
		
		for (int i = 0; i < group.length; i++)
			group[i].move(100, 200);
	}
}

abstract class Unit{
	int x, y;
	abstract void move(int x, int y);
	void stop() {}
}

class Marine extends Unit{
	void move(int x, int y) {
		System.out.println("Marine[x=" + x + ", y=" + y + "]");
	}
	void stimPack() {}
}

class Tank extends Unit{
	void move(int x, int y) {
		System.out.println("Tank[x=" + x + ", y=" + y + "]");
	}
	void changeMode() {}
}

class Dropship extends Unit{
	void move(int x, int y) {
		System.out.println("Dropship[x=" + x + ", y=" + y + "]");
	}
	void load() {}
}

조상메서드에서 추상메서드 만들어 놓고 자식 메서드에서 상속받아
재정의 해서 쓰기

profile
용용

0개의 댓글