IT 정보/Java
[Java] 객체지향 프로그래밍 (3) - 다형성편
개발하는 동그리
2022. 5. 13. 09:45
728x90
반응형
다형성
상위 클래스 타입의 참조변수를 사용해서 하위클래스 객체를 참조할 수 있도록 허용한 것
한가지 유의할 점은 여기서 참조변수가 사용할 수 있는 멤버의 갯수는 실제 객체의 개수보다 같거나 적어야 한다.
//참조변수의 다형성 예시
class Gender {
public void GenderInfo() {
System.out.println("나는 성별입니다.");
}
}
class Boy extends Gender {
@Override
public void GenderInfo() {
System.out.println("나는 남자입니다.");
}
}
class Girl extends Gender {
@Override
public void GenderInfo() {
System.out.println("나는 여자입니다.");
}
}
public class GenderTest {
public static void main(String[] args) {
Gender 성별 = new Gender(); // 객체 타입과 참조변수 타입의 일치
Boy boy = new Boy(); // 객체 타입과 참조변수 타입의 일치
Gender girl = new Gir(); // 객체 타입과 참조변수 타입의 불일치
Gender.GenderInfo();
boy.GenderInfo();
girl.GenderInfo();
}
}
//Output
나는 성별입니다.
나는 남자입니다.
나는 여자입니다.
다형성의 장점
- 코드의 중복을 줄여 보다 편리하고 효과적으로 프로그래밍 할 수 있다.
- 오버라이딩과 오버로딩 또한 다형성의 예시이다.
- 매번 비슷한 메서드명을 만드는 시간을 절약하고, 보일러 플레이트코드(=반복적으로 사용하는 비슷한 코드)를 최소화 할 수 있다.
작성중..
728x90
반응형