정의
- 객체마다 받은 메세지는 동일한데 객체마다 동작하는 방식이 다른 것.
- 상속 관계에 있을 때 부모로부터 물려받은 메소드를 자신에게 맞도록 재정의한 경우에 자식클래스의 객체마다 동작하는 방식이 다르다. 이것을 다형성이라고 한다.
package com.kosta.exam06;
public class EmployeeTest {
public static void main(String[] args) {
SalariedEmployee e1 = new SalariedEmployee("임유나", "Ai391", 1);
SalariedEmployee e2 = new SalariedEmployee("라미나", "AA1", 2);
HourlyEmployee hs = new HourlyEmployee("홍길동", "132AD", 200, 120000);
System.out.println(e1);
System.out.println(e2);
System.out.println(hs);
e1.computeSalary(); //A
e2.computeSalary(); //B
hs.computeSalary();
}
}
- 위의 실습코드에서 A, B에서 모두 동일한 메세지 computeSalary 를 주었는데 e1 호봉에 따라 기본금, 수당을 결정하고 기본금과 수당을 더해서 급여를 계산한다.
- 그러나 h1을 시간당 임금과 일한 시간을 곱하기 하여 실수령액을 계산한다. 이와 같이 두 개의 객체가 동일한 메세지를 받았는 데 돌장하는 방식. 즉, 응답이 다를 때 이것을 다형성이라고 한다.
'Kosta DevOps 과정 280기 > Java' 카테고리의 다른 글
동적인 배열 Set, List, Map (0) | 2024.05.23 |
---|---|
final 키워드가 올 수 있는 곳 (0) | 2024.05.23 |
접근명시자 정리 (0) | 2024.05.20 |
객체 지향 프로그래밍 특징2 - 상속성 (0) | 2024.05.20 |
메소드 중복(Method Overloading) (0) | 2024.05.20 |