'Java > Abstract Class' 카테고리의 다른 글

추상 메소드  (0) 2012.04.11
추상클래스 기본  (0) 2012.04.11
추상 클래스 예제  (0) 2012.04.11
package com.abs;

abstract class AbsEx1{
	int a = 100;
	public int getA(){
		return a;
	}
	//추상메소드
	abstract public String getStr();
	abstract public int getB();
}
abstract class AbsEx2 extends AbsEx1 {
	String str = "신세계";
	
	//AbsEx1의 추상 메서드 getStr()를 구현
	public String getStr(){
		return str;
	}
	
	//추상메소드
	abstract public int getC();
}

public class Exten02 extends AbsEx2{
	
	public int getB(){
		return 100;
	}
	public int getC(){
		return 200;
	}
	
	public static void main(String[] args){
		//추상클래스는 객체 생성 불가
		//AbsEx2 ab = new AbsEx2();
		
		Exten02 e = new Exten02();
	}
}


'Java > Abstract Class' 카테고리의 다른 글

예비  (0) 2012.04.11
추상클래스 기본  (0) 2012.04.11
추상 클래스 예제  (0) 2012.04.11
package com.abs;//추상클래스 기본

abstract class A{//추상 클래스 (미완성된 클래스)
				 //추상 클래스는 일반 클래스에 구현되어 사용(부모 역할)
	private int x;
	public void setX(int x){
		this.x = x;
	}
	
	//추상메소드
	public abstract void aaa();
	
}

class B extends A{
	//A클래스의 추상메소드 -> 일반 메소드로 구현함
	//재정의 문법을 적용
	public void aaa(){
		System.out.println("aaa() 메소드");
	}
}

public class Exten01 {
	public static void main(String[] args){
		/*추상 클래스는 객체 생성 불가
		A ap = new A();*/
		B bp = new B();
	}
}


'Java > Abstract Class' 카테고리의 다른 글

예비  (0) 2012.04.11
추상 메소드  (0) 2012.04.11
추상 클래스 예제  (0) 2012.04.11
package com.abs;//추상 클래스 기본틀
//추상 클래스
public abstract class Unit {
	protected String name;
	protected int energy;

	public int getEnergy(){
		return energy;
	}
	//추상 메서드
	abstract public void decEnergy(); // 에너지 소모
}





package com.abs;

public class Zerg extends Unit{
boolean fly;
	
	public Zerg(String name, boolean fly){
		this.name = name;
		this.energy = 100;
		this.fly = fly;
	}
	//unit의 추상메서드 구현
	public void decEnergy(){
		energy -= 6;
	}
}





package com.abs;

public class Protoss extends Unit{
	boolean fly;
	
	public Protoss(String name, boolean fly){
		this.name = name;
		this.energy = 100;
		this.fly = fly;
	}
	//unit의 추상메서드 구현
	public void decEnergy(){
		energy--;
	}

}





package com.abs;

public class Terran extends Unit{
boolean fly;
	
	public Terran(String name, boolean fly){
		this.name = name;
		this.energy = 100;
		this.fly = fly;
	}
	//unit의 추상메서드 구현
	public void decEnergy(){
		energy -= 3;
	}
}





package com.abs;

public class UnitTest {
	public static void main(String[] args){
		Zerg z1 = new Zerg("승리",false);
		z1.decEnergy();
		System.out.println("z1의 energe : "+z1.getEnergy());
		
		Protoss p1 = new Protoss("행복",true);
		p1.decEnergy();
		System.out.println("p1의 energe : "+p1.getEnergy());
		
		Terran t1 = new Terran("파도",false);
		t1.decEnergy();
		System.out.println("t1의 energe : "+t1.getEnergy());
	}

}

z1의 energe : 94

p1의 energe : 99
t1의 energe : 97


'Java > Abstract Class' 카테고리의 다른 글

예비  (0) 2012.04.11
추상 메소드  (0) 2012.04.11
추상클래스 기본  (0) 2012.04.11

+ Recent posts