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로 정의된 멤버에만 접근이 가능하니 , 그것에 대한 것 만 쓸 수있어 !
'Developer > JAVA' 카테고리의 다른 글
Java , 예외 처리 Exception , try-catch (0) | 2024.09.22 |
---|---|
JAVA , 열거형 클래스 enum ! (1) | 2024.09.21 |
JAVA , 추상 클래스 (0) | 2024.08.08 |
JAVA , 클래스의 다형성, 타입 캐스팅(형변환) , 종단 클래스 (0) | 2024.08.07 |
JAVA , 상속관계 is-a (0) | 2024.08.06 |