자바 다형성
자바 다형성
다형성은 "많은 형태"를 의미하며 상속에 의해 서로 연결된 많은 클래스가 있을 때 발생합니다.
이전 장에서 지정한 것처럼; 상속 을 통해 다른 클래스의 속성과 메서드를 상속할 수 있습니다. 다형성 은 이러한 방법을 사용하여 다른 작업을 수행합니다. 이를 통해 우리는 다양한 방식으로 단일 작업을 수행할 수 있습니다.
예를 들어 라는 Animal
메서드가 있는 슈퍼클래스를 생각해 animalSound()
보세요. 동물의 하위 클래스는 돼지, 고양이, 개, 새일 수 있습니다. 또한 동물 소리(돼지 울음소리, 고양이 야옹 소리 등)를 자체적으로 구현했습니다.
예시
class Animal {
public void animalSound() {
System.out.println("The animal makes a sound");
}
}
class Pig extends Animal {
public void animalSound() {
System.out.println("The pig says: wee wee");
}
}
class Dog extends Animal {
public void animalSound() {
System.out.println("The dog says: bow wow");
}
}
상속 장 에서 우리 extends
는 클래스에서 상속하기 위해 키워드를 사용 한다는 것을 기억하십시오 .
이제 Pig
및
Dog
개체 를 만들고 animalSound()
둘 모두에 대해 메서드를 호출할 수 있습니다.
예시
class Animal {
public void animalSound() {
System.out.println("The animal makes a sound");
}
}
class Pig extends Animal {
public void animalSound() {
System.out.println("The pig says: wee wee");
}
}
class Dog extends Animal {
public void animalSound() {
System.out.println("The dog says: bow wow");
}
}
class Main {
public static void main(String[] args) {
Animal myAnimal = new Animal(); // Create a Animal object
Animal myPig = new Pig(); // Create a Pig object
Animal myDog = new Dog(); // Create a Dog object
myAnimal.animalSound();
myPig.animalSound();
myDog.animalSound();
}
}
왜 그리고 언제 "상속"과 "다형성"을 사용해야 합니까?
- 코드 재사용성에 유용합니다. 새 클래스를 만들 때 기존 클래스의 속성과 메서드를 재사용합니다.