☕️Java 다형성

hamsang·2022년 7월 13일
0

Java

목록 보기
23/36
post-thumbnail

다형성(Polymorphism)이란?

부모-자식 상속 관계에 있는 클래스에서 상위 클래스가 동일한 메시지로 하위 클래스들을 서로 다르게 동작시키는 객체 지향 원리입니다.

📍 장점

  1. 유지보수가 쉽다
    : 개발자가 여러 객체를 하나의 타입으로 관리할 수 있기 때문에 관리가 편리하고 유지보수가 용이합니다.
  2. 재사용성 증가
    : 코드를 재사용하기 쉽습니다.

📍 다형성 필수 조건

  1. 상속관계
    다형성을 활용하기 위해서는 필수로 부모-자식간 클래스 상속이 이루어져야 합니다.
  2. 오버라이딩 필수(자식클래스에서 메소드 재정의)
    다형성이 보장되기 위해서는 하위 클래스 메소드가 반드시 재정의 되어있어야 합니다.
  3. 업캐스팅
    부모 타입으로 자식 클래스를 업캐스팅하여 객체를 생성해야 합니다.

📍 다형성 구현 방법

📍 예제코드

1️⃣ 상속 클래스 구현(부모-자식 클래스)

package Book;

public class Book {
        public String name;
        public String publisher;
        Book(){
            this.name = "";
            this.publisher = "";
        }
        Book(String name, String publisher){
            this.name = name;
            this.publisher = publisher;
        }
        void print(){
            System.out.println("print : Book");
        };
}

2️⃣ 메소드 오버라이딩

class Novel extends Book{
    public String name;
    public String publisher; 
    Novel(String name, String publisher){
        super(name, publisher);
    }
    @Override
    void print(){
        System.out.println("print : Novel");
    }
}

3️⃣ 자식 클래스를 부모 타입으로 업캐스팅하여 객체 선언

Book b = new Novel("메타버스 소설","출판사(IT)");

4️⃣ 부모 클래스 객체로 자식 메소드 호출

Book b = new Novel("소설","소설출판사");
b.print();
  • 실행결과
    print : Novel
profile
햄생

0개의 댓글

관련 채용 정보