20230722

Moon-Tree·2023년 7월 22일
0

Q : 객체 지향에서 다형성(Polymorphism)이란 무엇인지 설명하시오.
A :

  • 같은 이름의 메서드나 인터페이스를 사용하더라도, 서로 다른 클래스의 객체에 따라 다른 동작을 수행하게 하는 기능입니다.
  • 이를 통해 코드의 유연성과 확장성을 향상시키며, 새로운 클래스 추가나 수정이 용이하게 됩니다.

코드 예시

  • 기본 클래스 "Animal"
public class Animal {
    public void makeSound() {
        System.out.println("동물의 울음 소리");
    }
}
  • Animal을 상속받은 Cat과 Dog 하위 클래스
  • 각 클래스에서는 makeSound() 메서드를 오버라이드(재정의)합니다.
public class Cat extends Animal {
    public void makeSound() {
        System.out.println("고양이의 울음 소리");
    }
}

public class Dog extends Animal {
    public void makeSound() {
        System.out.println("강아지의 울음 소리");
    }
}
  • 다형성을 사용하여 동물들이 울음 소리를 출력하는 메인 클래스를 생성
public class Main {
    public static void main(String[] args) {
        Animal myAnimal = new Animal();
        Animal myCat = new Cat();
        Animal myDog = new Dog();

        myAnimal.makeSound();
        myCat.makeSound();
        myDog.makeSound();
    }
}
profile
Backend Developer

1개의 댓글

comment-user-thumbnail
2023년 7월 22일

좋은 글 감사합니다. 자주 올게요 :)

답글 달기