본문 바로가기
IT Study/따즈아 Java & Java 기초

따즈아 java 멘토 시리즈 25강 - 다형성

by hhyyyjun 2022. 12. 27.

접근제어자

public - 다른 패키지에 있든 같은 패키지에 있든 모두 다 접근할 수 있는 접근 제어자

private - 자식이 상속받을 수 없는 필드

default - 같은 패키지 내에서만 접근이 가능

protected - 다른 패키지에서는 자식클래스만 접근이 가능

다형성

한가지의 타입이 여러가지 형태의 인스턴스를 가질 수 있는 것

다형성의 여러 방법 : 부모 자식간의 casting(형 변환)

1) 업 캐스팅(upcasting)

2) 다운 캐스팅(downcasting)

1. 업 캐스팅

자식 클래스의 객체가 부모클래스의 참조변수로 형 변환 되는 것

구조

부모클래스 변수 = new 자식클래스 (객체 값);

동적 바인딩

컴파일 시점에선 부모클래스의 필드로 인지하나, 런 타임 시점에선 자식클래스의 필드로 호출할 메서드를 묶는 것

1.1 Pratice - Upcasting

업 캐스팅으로 인해 human 클래스의 객체 변수는 grade 변수와 study()메서드 호출이 불가능하다.

2. 다운 캐스팅

업 캐스팅된 부모클래스의 객체가 자식클래스의 참조변수로 형 변환 되는 것

구조

자식클래스 변수 = (자식클래스) 업 캐스팅된 부모 참조변수;

*다운 캐스팅 주의할 점

1) 업 캐스팅된 변수만 가능

2) 명시적 형 변환

2.1 Practice - Downcasting

2.2 실습

댓글