728x90
1. 다형성이란
: 유사하지만 다양한 형상이나 다양한 기능을 가진다는 뜻
-> 한 부모에서 나온 두 자식 객체는 비슷하지만 다름
-> 하나의 클래스에서 오버로딩된 메소드들은 유사하지만 조금씩 다른 기능을 수행함
-> 자식 클래스에서 재정의된 메소드는 부모의 것과 유사하지만 다른 기능을 수행함
2. 다형성과 형변환
: 형 변환
-> 상속 관계에 있는 클래스 간에는 타입 변환이 가능함
*전혀 다른 두 클래스 간에는 타입 변환이 금지됨
-> 자식(하위) 클래스에서 부모(상위) 클래스로의 형 변환은 문제없음
*업캐스팅이라 하며 자동으로 형 변환 가능함
* 참조형 변수는 같은 유형 또는 자식 유형의 객체를 참조할 수 있음
ex) Animal animal = (Animal) new Dog(); // 하위 객체 참조
: 다형성의 활동 효과
-> 코드의 유연성과 재사용성
-> 동적 바인딩을 통해 실제 유형을 명시적으로 다룰 필요가 없음
3. 다형성과 오버라이딩
: 클래스의 다형성
-> 부모 클래스로부터 상속받은 메소드를 자식 클래스에서 오버라이딩할 수 있음
-> 부모와 자식에서 같은 이름의 메소드가 다른 기능을 수행
*메소드 이름, 매개 변수, 반환형은 같으나 몸체의 구현이 다름
-> 서로 다른 자식 간에도 같은 이름의 메소드가 다른 기능을 수행
: 인터페이스의 다형성
-> 자식 클래스들에서 상위 인터페이스의 메소드를 다르게 구현함
4. 클래스 상속과 다형성
예제1)
예제 2)
728x90
'방통대 > Java' 카테고리의 다른 글
5-4 익명 클래스 (0) | 2024.03.22 |
---|---|
5-3 열거 자료형 (0) | 2024.03.22 |
5-1 추상 클래스와 인터페이스 (0) | 2024.03.22 |
4강. Java - 클래스와 상속(2) (0) | 2024.03.15 |
4-2 상속 (0) | 2024.03.15 |