다형성(polymorphism)
-사전적 의미 : 여러 가지 형태를 취할 수 있는 능력
-하나의 참조변수로 여러 타입의 객체를 참조할 수 있는 것.
즉 조상의 참조 변수로 자손 타입의 객체를 다룰 수 있는 것.
=>원래의 타입은 유지됨.
=>하나의 코드로 여러 자료형으로 구현되어 실행,
같은 코드로 여러 다른 실행 결과가 나옴.
-정보 은닉, 상속과 더불어 OOP의 가장 큰 특징 중 하나임.
-다형성은 잘 활용하면 유연하고 확장성있고, 유지 보수가 편리한 프로그램을 만들 수 있음.
다형성으로 인한 형변환(캐스팅)
1) 형변환의 전제 조건 --상속, 구현 관계에 있는 것만 객체 타입 변환이 가능.
2) Up-casting (암시적 형변환) : 자손 타입에서 조상 타입으로 형변환, 형변환 생략 가능.
=>조작 멤버 변수가 줄어듦.
3) Down-castion(명시적 형변환) : 조상 타입에서 자손 타입으로 형변환, 형변환 생략 불가,
=>조작 멤버 변수가 많아짐, 업캐스팅된 클래스를 다시 원래의 클래스로 형변환.
instanceof 연산자
-인스턴스의 형(타입) 체크
-참조 변수가 참조하는 인스턴스의 실제 타입을 체크하는데 사용함.
-instanceof의 연산 결과가 true면, 해당 타입으로 형변환이 가능함.
매개 변수의 다형성
참조 타입의 매개변수는 메서드 호출 시,
자신과 같은 타입이거나 또는 자손 타입의 주소를,
즉 인스턴스를 넘겨주도록 함.
//매개변수의 다형성
'📒 education archive > 🎀JAVA' 카테고리의 다른 글
[국비 학원 기록/자바]객체지향(OOP) 09.인터페이스, 인터페이스의 여러 가지 요소(default , static, private 메서드), 다중 상속 (0) | 2021.10.13 |
---|---|
[국비 학원 기록/자바]객체지향(OOP) 08.추상클래스, 인터페이스 (0) | 2021.10.13 |
[국비 학원 기록/자바]객체지향(OOP) 06.상속, 오버라이딩,오버로딩 (0) | 2021.10.11 |
[국비학원 기록/자바] 배열 예제, 각 반 학생 점수 입력 받아 합계, 평균 표로 출력하기 (0) | 2021.10.10 |
[국비 학원 기록/자바]객체지향(OOP) 05.배열, 컬렉션프레임워크, ArrayList (0) | 2021.10.10 |