티스토리 뷰
★ 클래스의 다형성 ( polymorphism)
☆ 다형성 ( polymorphism)
- 다형성이란 말 그대로 , 여러 형태를 가질 수 있는 속성, 능력
☆ 클래스의 다형성
- 한 타입의 참조 변수로 여러 타입의 객체(인스턴스)를 참조할 수 있도록 구현함.
상위 클래스 타입의 참조 변수로 하위 클래스의 인스턴스를 참조할 수 있다.

Animal 클래스를 생성했다.
1. string 타입의 name 변수를 만들었다.
2. sing 참조변수는 name+ "sing( ) 호출" 을 출력한다.

Whale 클래스를 생성했다.
1. Whale 클래스는 Animal 클래스를 상속받도록 extends를 입력했다.
2. "첨벙첨벙" 을 출력하는 swim 메서드를 만들었다.
main 클래스를 생성했다.

1. Animal 타입의 참조변수 animal로 whale 타입의 인스턴스를 생성했다.
2. name은 "Animal 타입으로" 문자열을 갖고있다.
3. Animal 클래스가 가지고 있는 sing 메서드를 출력한다.

그럼, " whale 타입으로 sing ( ) 호출 " 출력이 가능할까?

1. Whale 타입의 참조변수 whale로 whale 타입의 인스턴스를 생성했다.
2. name은 "Whale 타입으로" 문자열을 갖고있다.
3. sing 메서드를 출력한다.

Whale은 Animal의 하위 클래스이기 때문에 sing 메서드 활용이 가능하다.

1. animal은 swim 메서드 활용이 불가능하다.
왜냐고? 상위 타입의 참조변수로는 하위 타입의 멤버 사용 불가하기 때문이다.
2. whale은 당연히 swim 메서드 활용이 가능하다.

참조변수가 사용할 수 있는 멤버의 개수 <=(같거나 작다) 참조하고 있는 인스턴스 멤버의 개수

오늘의 교훈
참조 변수가 가진 타입에 따라 참조할 수 있는 멤버의 개수가 달라진다.
'차곡차곡 > Java' 카테고리의 다른 글
| [Java] 추상 클래스 - (1) 추상 클래스 (0) | 2022.05.15 |
|---|---|
| [Java] 데이터 파싱하는 부분을 별도의 클래스로 분리하기. (0) | 2022.05.11 |
| [Java] 배열 응용해보기 - Todo 데이터를 관리하는 별도의 Todo 클래스 생성하기 (0) | 2022.05.10 |
| [Java] 형 변환과 다형성 (0) | 2022.05.09 |
| [Java] 오버로딩(overloading) / 오버라이딩( overriding) (0) | 2022.05.08 |
- Total
- Today
- Yesterday
- 꾸덕꾸덕 파스타 맛집
- 로제 파스타 맛집
- 영속성 관리
- fragment태그
- pip 설치 오류
- 온량 서울숲점
- 콘솔 창 한글 깨짐
- 토마호크 맛집
- React
- 리액트 엘리먼트 렌더링하기
- 풍기역맛집
- Counter 만들기
- JPA라이브러리
- JPA 기본키 매핑 전략
- JPA애플리케이션개발코드
- 영주 한우
- intellij 한글 깨짐
- 엘리먼트 렌더링
- DDL 생성 콘솔 출력
- React를 이용한 Counter 만들기
- JPQL이란
- JPA
- 리액트 이벤트 처리하기
- react counter
- tick 만들기
- 데이터베이스 스키마 자동 생성
- 커틀렛 맛집
- 영주역 맛집
- 엔티티매니저팩토리
- 버튼누르면전구이미지변하기
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 | 31 |
