"parse"는 주로 문자열을 특정한 데이터 타입으로 변환하는 과정을 의미합니다.
파싱 메서드는 문자열(String) 형식의 데이터를 특정 기본 데이터 타입(int, double, boolean 등)으로 변환합니다.
- 형식에 의존: 입력 문자열이 특정 형식을 충족해야 합니다. 예를 들어, "123"은 정수로 파싱할 수 있지만, "abc"는 실패합니다.
- 예외 처리 필요: 유효하지 않은 형식의 문자열이 입력되면 NumberFormatException과 같은 예외가 발생합니다.
- 메서드 사용: Integer.parseInt(), Double.parseDouble(), Boolean.parseBoolean() 등과 같은 메서드를 사용합니다.
- 정확한 타입 변환: 문자열을 정확한 기본 데이터 타입으로 변환할 수 있어, 입력값 검증 및 변환에 유용합니다.
1. Integer.parseInt() :
String numberStr = "123";
int number = Integer.parseInt(numberStr); // number는 123
2. Double.parseDouble() :
String doubleStr = "12.34";
double value = Double.parseDouble(doubleStr); // value는 12.34
3. Boolean.parseBoolean() :
String boolStr = "true";
boolean flag = Boolean.parseBoolean(boolStr); // flag는 true
강제 형변환(Casting) : 이미 존재하는 데이터 타입의 값을 다른 데이터 타입으로 변환합니다. 주로 상위 타입을 하위 타입으로 변환할 때 사용합니다.
- 데이터 손실 가능성: 변환하고자 하는 타입 간의 호환성이 있어야 합니다. 예를 들어, int를 double로 변환하는 것은 문제가 없지만, double을 int로 변환할 때는 데이터 손실이 발생할 수 있습니다.
- 예외 발생 없음: 일반적으로 형변환이 실패할 경우 예외가 발생하지 않습니다. 하지만, 잘못된 캐스팅은 런타임 예외(ClassCastException)를 초래할 수 있습니다.
- 명시적 또는 암시적: 자바에서는 작은 범위의 데이터 타입에서 큰 범위로의 변환은 암시적(자동)으로 이루어지며, 반대의 경우에는 명시적(강제)으로 형변환을 해야 합니다.
double d = 9.78;
int i = (int) d; // 강제 형변환, 소수점 이하 데이터 손실
차이 정리
- 파싱 메서드: 문자열을 특정 기본 데이터 타입으로 변환하며, 형식에 민감하고 예외 처리가 필요합니다.
- 강제 형변환: 이미 존재하는 값의 데이터 타입을 변경하며, 데이터 타입 간의 호환성이 중요하고 일반적으로 예외가 발생하지 않습니다.
'Java > Java 문법' 카테고리의 다른 글
분기문 continue, break, return (0) | 2024.09.24 |
---|---|
런타임 예외 (Runtime Exception) (1) | 2024.09.23 |
if를 나열하는 것과 if - else if 의 차이 (0) | 2024.09.23 |
scanner.next() , scanner.nextInt() , scanner.nextLine() (0) | 2024.09.23 |
for문을 통해 Map을 순회하기 (0) | 2024.09.19 |