업 캐스팅 / 다운 캐스팅

leeda06·2023년 4월 20일
0

Java

목록 보기
3/3

내용

  • 업캐스팅이란?
  • 다운캐스팅이란?

업 캐스팅

💡 부모 클래스인 People과 자녀 클래스인 Student가 있다 People은 “숨 쉬는 것”을 할 수 있고 Student은 “숨 쉬는 것” 과 “공부하는 것”을 할 수 있다

이때 업 캐스팅을 하게 되면…

  • Student인 s는 People 타입이 된다
  • Student는 “공부하는 것”을 가지고 있지만 People 타입이 되어 더이상 “공부하는 것”을 사용하지 못한다

다운 캐스팅

💡 부모 클래스인 People과 자녀 클래스인 Student가 있다 People은 “숨 쉬는 것”을 할 수 있고 Student은 “숨 쉬는 것” 과 “공부하는 것”을 할 수 있다

이때 다운 캐스팅을 하게 되면…

  • People 인 p는 Student타입이 된다
  • People 은 “공부하는 것”을 가지고 있지 않지만 Student타입이 되어
    “공부하는 것”을 사용 할 수 있다

코드 - 예시

class People(){
}
class Student(){
}

public class javaTest{
	public static void main(String args[]){
		People p = new People();
		p = (Student) new Student();	// 다운 캐스팅
		p.breath();  // 가능
		p.study();   // 가능

		Student s = new Student();
		s = new People		            // 업 캐스팅
		s.breath();  // 가능
		s.study();   // 불가능
	}
}

profile
웹솔루션과

0개의 댓글