Java/Java: 문법 정리

[Java] 다형성 정리

데브마우스 2024. 1. 13. 18:33

Java의 다형성(Polymorphism)이란 무엇인가요?

다형성이란 코드로 표현할 경우 아래와 같습니다.

부모_클래스 poly = new 자식_클래스();

 

부모 클래스의 데이터 타입으로 선언한 후 자식 클래스의 생성자로 생성하는 것입니다.

 

다형성에서 자식 클래스는 부모 클래스로부터 상속받았기 때문에 부모 클래스의 데이터 타입일지라도 객체를 인스턴스화 시킬 수 있습니다.

 

다형성을 비유로 설명하자면, 서로 다른 2대의 노트북이 있습니다. 하지만 이 2대의 노트북 모두 외장 모니터에 화면을 송출할 수 있습니다. 여기서 부모 클래스는 외장 모니터에 해당되며 자식 클래스는 노트북입니다.

 

다형성은 왜 필요한가요?

여러 타입의 객체를 하나의 부모 클래스로 다루기 위해서 필요합니다.

아래 예시코드에서 ArrayList와 LinkedList는 List로 부터 상속받은 자식 클래스입니다.

// ArrayList와 LinkedList는 List 객체로 부터 상속받은 자식 클래스입니다.
List<String> list1 = new ArrayList<String>();
list1.add("test");
list1 = new LinkedList<String>();