다형성

CHM·2022년 4월 18일
0

Java 기본

목록 보기
12/17

다형성의 개념

  • 여러 다양한 자료형을 가질 수 있는 특성

다형성의 구조

  • 하위 클래스 객체를 상위 클래스 자료형으로 변환이 가능하다.
  • 생성자 부분만 새로운 부품으로 교체 하듯이 수행(부모 클래스 타입의 참조 변수로 자식 클래스 타입의 인스턴스를 참조할 수 있도록 하여 구현).
public static void main(String[] args) {
   GraphicCard gc = new GraphicCard();
   
   # 다형성
   gc = new NvidiaGraphicCard();
   gc = new AmdGraphicCard();
}

매개변수의 다형성

public class Copmputer {
   public void read(Usb usb) { 
      usb.read() 
   };
   public void write(Usb usb) { 
      usb.read() 
   };

   public static void main(String[] args) {
      Computer com = new Computer();
   
      SamsungUsb susb = new SamsungUsb();
      com.read(susb);
      com.write(susb);
   
      SandiskUsb sanusb = new SandiskUsb();
      com.read(sanusb);
      com.write(sanusb);
   }
}
  • 출력 결과
삼성 USB를 읽는다.
삼성 USB를 쓴다.
샌디스크 USB를 읽는다.
샌디스크 USB를 쓴다.
  • 위처럼 매개변수 타입을 상위 클래스 타입으로 지정하면 상위 클래스의 하위 클래스들이 자동으로 형변환된다.
  • 하위클래스에서 재정의된 메서드가 실행.

0개의 댓글

관련 채용 정보