예제로 공부하는 Java 100 문제풀이 Part.4
class Person{}
class Batman extends Person{}
class Human{}
class Superman extends Human{}
public class Java100_Ex41 {
public static void main(String[] args) {
// [1]: 배열에서 다형성을 사용할 수 없다면
// 배열 --> 동일한 타입의 데이터를 하나로 묶어서 관리하는 자료구조 --> 다형성이 없다면 각 객체별로 관리를 해야 한다.
Person[] persons = new Person[10]; // Person 전용
persons[0] = new Person();
persons[1] = new Person();
Batman[] batmans = new Batman[10]; // Batman 전용
batmans[0] = new Batman();
batmans[1] = new Batman();
// [2]: 배열에서 다형성을 사용할 수 있기에
Human[] humans = new Human[10];
humans[0] = new Human();
humans[1] = new Superman();
// [3]: 매개변수의 다형성
// 프로그래밍 언어에서 함수나 메서드를 호출할 때는 그에 맞는 적절한 파라미터를 보내줘야 한다.
// System.out.println() 메서드의 경우 어떤 타입, 객체를 매개변수로 받더라도 에러없이 해당 객체의 값을 출력한다.
// --> 다형성을 활용하기 때문이다.
System.out.println(new Person()); // 객체 넣어도 출력 가능함
System.out.println(new Batman());
System.out.println(new Human());
System.out.println(new Superman());
}
}
'Backend > Java' 카테고리의 다른 글
[인프런] 알고리즘, 배열, 최솟값 (0) | 2022.04.30 |
---|---|
[인프런] 정수, 배열, 최댓값, 알고리즘 (0) | 2022.03.14 |
[인프런] 다형성, 객체 생성, 배열, 반복문 (0) | 2022.03.14 |
[인프런] 추상 클래스, 상속, class (1) | 2022.03.14 |
[인프런] 다형성, 클래스, 호출 (0) | 2022.03.13 |