Java 다형성 [hong]

홍석진·2021년 4월 12일
0

JAVA

목록 보기
6/10

다형성(polymorphism)이란..

하나의 객체가 여러개의 자료형 타입을 가질 수 있는 것.

일단 말로 설명하자면 콘서트라는 클래스가 있고 콘서트라는 클래스는 여러가지의 악기의 소리가 모여 만들어진다. 피아노 소리도 있을 것이고 드럼소리도 있을 것이고 기타소리, 그리고 사람의 목소리도 있다.
이런 여러가지 소리들을 메소드라고 생각하고 각자 소리가 다르기때문에 이 메소드는 각각 표현해야하는 어려움이 있을 수 있다. 하지만 다형성을 이용하면 하나의 객체로 여러가지 타입을 가져 여러가지로 표현이 가능해진다.

이제 코드를 생성해보겠다

package lec_hongvelog;

interface Consert { //인터페이스
	void sound(); // 추상메소드
}

class Piano implements Consert{ //인터페이스 구현 클래스
	public void sound() {
		System.out.println("도레미~");
	}
}
class Guitar implements Consert{ //인터페이스 구현 클래스
	public void sound() {
		System.out.println("딩기딩~");
	}
}
class Drum implements Consert{ //인터페이스 구현 클래스
	public void sound() {
		System.out.println("쿵쿵따");
	}
}
class Voice implements Consert{ //인터페이스 구현 클래스
	public void sound() {
		System.out.println("아아아아~아");
	}
}
public class Polymorphsim {
	public static void main(String[] args) {
		
		Consert con; // 인터페이스 객체 선언
		con = new Piano(); // 업캐스팅
		con.sound();
		con = new Guitar(); // 업캐스팅
		con.sound();
		con = new Drum(); // 업캐스팅
		con.sound();
		con = new Voice(); // 업캐스팅
		con.sound();
		
		
		
		
		
	}
}

con.sound로 출력하기 완료

profile
질문이나 의견이 있으시면 남겨주세요. 서로의 발전이라고 생각합니다.

0개의 댓글