Developer/JAVA

JAVA , 추상 클래스의 다형성 보기

단님 2024. 8. 8. 01:30
728x90
매개변수를 활용하여 다형성을 보기

 

  • 메인에서 사용할 메서드정의
public static void animalUse(Animal animal) {
	animal.breath();
	animal.sound();
}

인자로 animal 타입을 받게 된다면 사용할 수 있는 메서드이다.

 

  • 메인에서의 위 메서드를 사용해보자.
Animal cat1 = new Cat();
Animal dog1 = new Dog();
Cat cat2 = new Cat();

animalUse(cat1);
animalUse(cat2); 
//후손도 인자의 animal 타입에 적용 가능. // Animal animal = new Cat();
animalUse(dog1);
animalUse(new Dog());

 

  • 추상클래스의 타입의 배열로 인자 받기
public static void animalUse(Animal[] animals) {
	for (Animal animal : animals) {
		animal.breath();
		animal.sound();
	}
}
System.out.println("배열로 다형성의 확인");
Animal []animals = {cat1, cat2 , dog1 , new Dog()};
animalUse(animals);

 

이 실습을 통해 추상클래스와 다형성을 매개변수로 활용하는 법을 알 수 있었다.

 

  • 그럼 최상위 조상인 object 타입을 사용하면 되지 않을까 ?

-> 그렇다면 object로 정의된 멤버에만 접근이 가능하니 , 그것에 대한 것 만 쓸 수있어 !