🎨 Programming/JAVA

[JAVA] 16. 다형성 & instanceOf 연산자

ryang x2 2020. 6. 28. 20:14
728x90
반응형

# 다형성 

다형성이란 같은 자료형에 여러 가지 객체를 대입하여 다양한 결과를 얻어내는 성질을 의미합니다.
하나의 타입으로 다양한 실행 결과를 얻을 수 있으며 객체를 부품화하여 유지 보수를 용이하게 합니다.

 

상속관계 참조 형식이다. 

1. 부모의 메소드와 필드만 사용가능하다.

2.  자식에게 추가된 기능은 사용xx 단, 오버라이드를 하게 되면 자식 메서드를 호출하여 사용할 수 있다. 

 

 

3. 다형성 예시(1)

 

1

● Monitor 자식 클래스 pro_mo1 부모 클래스 모든 기능을 가지고 태어난 객체 / 자식 객체에 있는 내용은 사용하지 못한다

 

2

 

3. 오류

● 부모 안에서 자식이 만들어지기 때문에 반대로는 표현할 수 없다.

 

 

# instanceOf 연산자 

 특징 

* 객체 비교할 때 많이 쓰인다. 

* 참조 변수가 참조하고 있는 인스턴스의 실제 타입을 알아보기 위한 연산자입니다. 

* instanceOf 왼쪽에는 참조 변수를 오른쪽에는 타입(클래스명)이 피연산자로 위치합니다. 

* 연산의 결과는 boolean 값이 true, false 중의 하나를 변환합니다. 

* instanceOf를 이용한 연산 결과로 true를 얻게 되면 참조 변수가 검사한 타입으로 형변환이 가능하다는 것을 뜻합니다. 

* 조상 타입의 참조 변수로 자손 타입의 인스턴스를 참조할 수 있기 때문에, 참조 변수의 타입과 인스턴스의 타입이 항상 일치하지는 않습니다. 

 

 

 

예시 1) 

1.
2. 노출값

 

예시 2) 

다형성과 instanseOf 연산자 사용

필드
get set 메소드
생성자
오버라이드

 

Fruit 상속받은 세가지 과일

apple class
banana class
orange class

 

Main class

 

Main class 결과 확인

1, 2, 3번 과일 선택 후 4번 선택한 과일 확인
5번 선택 후 상품검색 가능
6번 입력 후 종료!

 

 

 

 

 

728x90
반응형