[CS] Casting

박상민·2023년 3월 8일
0

Computer Science

목록 보기
11/29

💡 캐스팅이란?
모든 연산을 진행할 때에는 같은 타입의 피연산자끼리만 수행이 가능한데, 이 때 다른 타입의 피연산자끼리 연산을 수행할 필요가 있을 경우 같은 타입으로 변경해주는 것이다.

int a = 0.1;		// 에러 발생 X
int b = (int) true;	// 에러 발생 O, boolean은 int로 캐스트가 불가능하다.

📌 Casting이 필요한 이유

  1. 다형성
    오버라이딩 된 함수를 분리해서 사용할 수 있다.
  2. 상속
    캐스팅을 통해 범용적인 프로그래밍이 가능하다.

📌 형변환의 종류

  1. 묵시적 형변환
  • 캐스팅이 자동으로 발생한다. (업캐스팅)
  • 자식 클래스에서 부모 클래스로 형변환하는 것이다.
// Parent를 상속받은 Child는 Parent의 속성을 포함하고 있기 떄문에 캐스팅을 명시할 필요가 없다.
Parent p = new Child();
  1. 명시적 형변환
  • 캐스팅할 내용을 적어줘야 하는 경우 (다운캐스팅)
  • 업캐스팅 한 것을 다시 원래의 형으로 복원 시켜주는 것이다.
  • 업캐스팅과는 다르게 원래의 형을 꼭 명시해줘야 한다.
// 다운캐스팅은 업캐스팅이 발생한 이후에 작용한다.
Parent p = new Child();
child c = (Child) p;
profile
💡 클린코드를 지향하는 Backend Developer

0개의 댓글