package ex_02;
public class Main {
public static void main(String[] args) {
//인형뽑기 기계
//기계
//인형들도 있어야한다
//인형뽑기 객체 생성
Machine m = new Machine();
//
// //인형객체 생성
// Pika pika = new Pika();
//
// m.run(pika);
//
// //파이리 인형을 뽑아보자!
// Pairi pairi = new Pairi();
//
// m.run(pairi);
//
// //꼬부기 인형을 뽀ㅃ아보자
// Kkobuk kkobuk = new Kkobuk();
// m.run(kkobuk);
m.run(new Pika());
m.run(new Kkobuk());
}
}
package ex_02;
public class Machine {
// //어떤 인형을 추가하여 뽑을건지 기계 설정
// public void run(Pika p) {
// p.pika();
//
// }
//
// public void run(Pairi p) {
// p.pairi();
// }
//
// public void run(Kkobuk p) {
// p.kkobuk();
// }
//어느 인형이 들어오더라도 뽑기가 가능하도록 만들기 -> 다형성 의미
public void run(Doll d) {
d.doll();
}
}
package ex_02;
public class Doll {
public void doll() {
System.out.println("인형");
}
}
package ex_02;
public class Pairi extends Doll {
// public void () {
//
//// System.out.println("파이리 인형!");
//
//
// }
public void doll(){
System.out.println("파이리 인형");
}
}
package ex_02;
public class Kkobuk extends Doll{
// public void kkobuk() {
//
// System.out.println("꼬부기 인형!");
// }
@Override
public void doll() {
System.out.println("꼬부기 인형");
}
}
package ex_02;
public class Pika extends Doll{
//피카츄 인형만 있는 인형기계
// public void pika() {
// System.out.println("피카츄 인형!");
// }
//doll 클래스로 부터 돌려받는 매소드를 활용하여
//피카츄 인형 만들기
@Override
public void doll() {
System.out.println("피카츄인형");
}
}