반응형
Java 프로그래밍에서는 때때로 데이터 타입을 변환해야 할 필요가 있습니다. 예를 들어, 두 피연산자가 다른 데이터 타입일 때 연산을 수행하거나, 특정 메소드가 특정 타입의 인수를 필요로 할 때 등이 이에 해당합니다. 이 때 사용하는 기술이 바로 '형변환' 혹은 '타입 캐스팅'입니다.
형변환에는 크게 두 가지 형태가 있습니다: 자동 형변환(묵시적 형변환)과 강제 형변환(명시적 형변환)입니다. 이번 포스트에서는 이 두 가지 방법에 대해 자세히 알아보도록 하겠습니다.
자동 형변환
자동 형변환은 이름에서 알 수 있듯이 Java 컴파일러가 자동으로 수행하는 형변환입니다. 이 형변환이 발생하는 경우는 주로 더 큰 데이터 타입으로 작은 데이터 타입이 변환될 때입니다. 예를 들어, 정수형(int) 데이터와 실수형(double) 데이터가 함께 연산될 경우, 정수형 데이터가 실수형으로 자동 변환됩니다.
int myInt = 10;
double myDouble = myInt + 1.1;
System.out.println(myDouble); // 출력: 11.1
위의 예제에서 볼 수 있듯이, myInt 변수는 1.1과 더해지는 과정에서 실수형으로 자동 변환되었습니다.
또한, 문자형(char) 데이터와 정수형 데이터가 함께 연산될 경우, 문자형 데이터는 해당하는 ASCII 코드 값으로 자동 변환됩니다.
char myChar = 'A';
int myInt = myChar + 1;
System.out.println(myInt); // 출력: 66
강제 형변환
자동 형변환과 반대로, 강제 형변환은 개발자가 직접 명시하여 데이터 타입을 변환하는 방법입니다. 이는 데이터의 손실이 발생할 수 있으므로 주의해야 합니다. 예를 들어, 실수형을 정수형으로 변환하면 소수점 이하의 값이 삭제됩니다.
double myDouble = 3.14;
int myInt = (int) myDouble;
System.out.println(myInt); // 출력: 3
위 예제에서 보듯, myDouble 변수를 정수형으로 변환하면 소수점 이하의 값이 삭제되고, 정수 부분만 남습니다.
이처럼 형변환은 데이터 타입의 특성을 이해하고 올바르게 사용하는 데 중요한 역할을 합니다. 특히, 강제 형변환은 데이터 손실을 일으킬 수 있으므로 주의깊게 사용해야 합니다. 그래서 가능하면 자동 형변환을 이용하고, 필요한 경우에만 강제 형변환을 사용하는 것이 좋습니다.
반응형
'개발 > Java' 카테고리의 다른 글
Java의 제어문: switch문 (0) | 2023.07.12 |
---|---|
Java의 제어문: if문 (0) | 2023.07.12 |
Java에서 랜덤값 생성하기: Math 클래스와 Random 클래스 (0) | 2023.07.12 |
Java 프로그래밍 기초: 입력(Scanner 클래스) (0) | 2023.07.12 |
Java 프로그래밍 기초: 연산자(Operator) - 2 (0) | 2023.07.12 |