[Java] 변수의 형 변환

전우석·2024년 3월 18일

Java

목록 보기
8/24

변수의 형 변환

형 변환(Type Conversion);
변수나 값을 원래 데이터 타입에서 다른 데이터 타입으로 변환하는 과정을 나타내는 넓은 개념

  • 형 변환은 타입의 안전성을 유지하면서도 다양한 타입 간의 연산이나 할당을 가능하게 한다.

캐스팅

Casting;
좁은 의미의 형 변환(Casting)은, 강제 타입 변환(명시적 형변환)을 가리키는 용어로 사용된다.

  • 캐스팅은 주로 상위 클래스 타입의 변수를 하위 클래스로 변환할 때 사용한다.
  • 캐스팅은 객체 지향 프로그래밍에서 다형성을 구현하기 위해 사용된다.
Animal myDog = new Dog(); // Animal 타입으로 Dog 인스턴스를 참조
Dog d = (Dog) myDog; // 명시적 캐스팅을 통해 Dog 타입으로 변환

강제 타입 변환

소스 코드에서 명시적으로 데이터 타입을 변환하는 과정

  • 강제 타입 변환 과정에서 데이터 손실이 발생할 수 있다.
  • 주로 데이터 타입의 크기가 큰 변수를 작은 타입의 변수로 변환할 때 사용된다.(작은 타입에서 큰 타입은 자동 형변환이 이루어지기 때문: int → long)
  • 캐스팅 연산자: 변환하고자 하는 타입을 괄호() 안에 적은 후, 변수나 값을 적는다.
int i = 100;
byte b = (byte) i; // int 타입인 i를 byte 타입(-128 ~ 127)으로 강제 변환

자동 타입 변환

자바 컴파일러가 자동으로 수행하는 타입 변환

  • 자동 타입 변환은 일반적으로 크기가 작은 타입(int ..)에서 크기가 큰 타입(long ..)으로의 변환 과정에서 발생한다.
  • 자동 타입 변환은 데이터 손실이 발생하지 않는 범위 내에서만 일어난다.
int i = 100;
long l = i; // 자동으로 int(4바이트)에서 long(8바이트)으로 타입 변환
double d = i; // 자동으로 int(4바이트)에서 double(8바이트)로 타입 변환

0개의 댓글