article thumbnail image
Published 2021. 12. 9. 17:53
728x90

다형성(Polymorphism)

영어가 참 어렵죠?? 쓰윽 읽고 넘어갑시다. ㅎㅎ 

 

다형성이란 " 객체가 여러 형태를 가진다" 라는 의미로 해석되며, 하나의 객체가 여러가지 유형으로 사용되는 것을 의미합니다.

 

-다형성은 상속을 전제조건으로 합니다.

 

-다형성을 위해 자바는 자식클래스가 부모클래스의 타입을 가질 수 있도록 허용합니다. 즉, 부모 타입에 모든 자식객체가 대입될 수 있습니다.

 

부모클래스 변수 = new 자식클래스()

 

이때 부모클래스에 있는 기능만 사용할 수 있지만,

오버라이딩 된 메서드는 먼저 실행됩니다.

 

왜쓸까요??

부모하나에 자식들을 다 담을수있는 편리성때문에~ 그렇다고 합니다.

오브젝트~ 제일 최상위 개층에 있습니다.. 여기 안에는 모든지 다 넣을수 있습니다.

 

이종 모음도 다형성의 원리이다.

 

이종모음(Heterogeneous Collection)

 

이종모음은 배열에 다형성을 적용시키는 원리입니다. 배열은 원래 동종모음 구조입니다.

예를들어 int[]iArr= new int[10]; 이런 구조의 배열이 있다면 iArr배열에는 int형 정수 데이터만 저장할 수있습니다.

 

 

 

 

 

 

 

 

 

 

 

매개변수의 다형성

-promotion은 멤버 변수의 값을 대입할 때도 발생하지만, 메서드를 호출할 때 사용하는 매개 변수에도 발생할 수있습니다.

 

-보통 메서드를 호출할 때는 메서드 선언부에서 지정한 데이터 타입과 일치하는 매개값을 전달하여 호출하지만, 매개 변수에 다형성을 적용하면 자식 객체를 전달할 수도 있습니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

클래스 타입 확인!! instanceof 키워드

자바의 키워드 중에서 instaceof 는 객체가 지정한 클래스의 인스턴스인지 아닌지 검사 할때 사용하는 연산자입니다.

instaceof 연산자의 왼쪽 항의 객체가 오른쪽 항 클래스의 인스턴스 즉, 오른쪽 항의 객체가 생성되었다면 true를 리턴하고, 그렇지 않으면 false를 리턴합니다.

 

 

수고하셨습니다.

728x90

'lecture' 카테고리의 다른 글

Final  (0) 2021.12.10
Static  (0) 2021.12.10
클래스 상속  (0) 2021.12.08
Day5 - Method  (0) 2021.12.05
Day 5  (0) 2021.11.30
복사했습니다!