자바 70) 다형성 포켓몬

hahahoho셍·2021년 5월 15일
0

자바 공부

목록 보기
71/97
package ex08_inher;

//포켓몬 : 추상클래스 , 이걸 먼저 하면 자식클래스는 자동적으로 메소드를 뭘 만들어야할지 실수가 없음
abstract class Poketmon{
	//일반 메소드와 추상 메소드 모두 사용 가능
	void gnameName() {
		System.out.println("포켓몬게임"); //추상 이외의 클래스도 가질수 있다.
	}
	abstract void att();
	abstract void sound();
}

//피카츄
class Pikachu extends Poketmon{
	void att() {
		System.out.println("백만볼트");
	}
	void sound() {
		System.out.println("피카피카");
	}
}
//꼬부기
class Ggobugi extends Poketmon{
	void att() {
		System.out.println("물대포");
	}
	void sound() {
		System.out.println("꼬북꼬북");
	}
}

//공격클래스
class GamePlay {
	void att(Poketmon p) {
		p.gnameName(); //어택 실행전 부모 메소드 실행
		p.att();
	}
	void sound(Poketmon p) {
		p.sound();
	}
}



public class J20210504_05_poketmon {

	public static void main(String[] args) {
		Pikachu p1 = new Pikachu();
		Ggobugi g1 = new Ggobugi();
		GamePlay c = new GamePlay();
		
		System.out.println("피카츄");
		c.att(p1);
		c.sound(p1);
		c.att(new Pikachu());
		
		System.out.println("꼬부기");
		c.att(g1);
		c.sound(g1);
		

	}

}
profile
그냥 공부 한거 적는 벨로그 하하하핳ㅎ하하하핳하ㅏ

0개의 댓글

관련 채용 정보