본문 바로가기
  • (개인)정보보호/최신ICT 정보 공유 블로그
나의 서재/22. 소프트웨어 공학 기본원리

7.2 다형성 (polymorphism)

by 노벰버맨 2021. 12. 4.

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

댓글