1. 다형성의 개요
가. 다형성의 정의
-하나의 객체가 여러 가지 타입을 가질 수 있는 특성
-프로그램 언어 각 요소들(상수, 변수, 객체, 매소드 등)이 다양한 자료형에 속하는 것이 허가되는 특성
나. 다형성의 특징
-부모 클래스 타입의 참조 변수
-여러 타입 객체를 하나의 타입으로 관리 가능
-적은 결합도 코딩 가능
-재사용성 증가
-프로그램 가독성 저하, 디버깅 어려움 증가
-중복되는 코드 제거 가능
2. 다형성 구현 방법
구분 | 오버로딩 | 오버라이딩 |
정의 | -매개변수의 개수와 타입을 달리하여 동일한 이름의 메소드를 정의하는 기술 | -상위 클래스의 메서드를 하위 클래스에서 재정의하는 기법 |
특징 | -메소드의 이름이 같아야 한다. -매개 변수의 개수 또는 타입이 달라야 한다. -매개 변수는 같고, 리턴 타입이 다를 때는 성립하지 않는다. -오버로딩된 메소드들은 매개 변수로만 구분될 수 있다. |
-클래스 상속이나 인터페이스 상속 이용 |
예시 | public Station() { } public Station(String name) { this(null, name); } public Station(Long id, String name) { this.id = id; this.name = name; } |
public interface Movable { void move(); } public class Car implements Movable { public void move() { System.out.println("달린다."); } } |
'나의 서재 > 22. 소프트웨어 공학 기본원리' 카테고리의 다른 글
7.4 UML (Unified Modeling Language) (0) | 2021.12.04 |
---|---|
7.3. 모델링 (0) | 2021.12.04 |
7.1. 상속 관계 (0) | 2021.11.30 |
7. 객체 지향과 UML (0) | 2021.11.30 |
6.4 자료 사전과 프로세스 명세 (0) | 2021.11.29 |
댓글