반응형
형 변환(Casting)이란?
- 값의 타입(data type)를 다른 타입으로 변환하는 것
- 자동 형변환(묵시적)
- 작은 타입이 큰 타입에 저장되는 경우 byte → int
- 강제 형변환(명시적)
- 큰 타입이 작은 타입에 저장되는 경우 int → byte 손실 발생
문자열 타입을 기본타입으로 변환
- Integer.parseInt();
- Double.parseDouble(); 등등..
기본 타입을 문자열로 변환
- String.valueof();
- Integer.toString();
오버플로우
- 타입이 허용하는 최대값을 벗어나는 것
언더플로우
- 타입이 허용하는 최소값을 벗어나는 것
오버플로우, 언더플로우가 실행되면 실행 에러가 되지않고 해당 정수 타입의 최소값 혹은 최대값으로 되돌아간다.
// 오버플로우
byte valueOver = 127; (1byte = 8bit, -2의 8승 <= 값 <= 2의 8승 - 1)
valueOver++;
System.out.println(valueOver);
// 언더플로우
byte valueLower = -128;
valueLower--;
System.out.println(valueLower);
위에 오버플로우가 된 valueOver의 값은 byte의 최소값인 -128,
언더플로우가 된 valueLower의 값은 byte의 최대값인 127이 출력된다.
즉, 다른 형인 short, int등 모두 똑같다. 고로 연산 과정에서 오버플로우 혹은 언더플로우가 일어 날 것 같다면 더 큰 타입으로 연산을 하도록 해야한다.
'Backend > Java' 카테고리의 다른 글
Java - package 패키지 (0) | 2023.02.19 |
---|---|
Java - 문자열 String (0) | 2023.02.13 |
Java - 2진수, 10진수, 8진수, 16진수 (0) | 2023.02.12 |
Java - 형식 문자열 (printf) (0) | 2023.02.11 |
Java - 소스파일을 터미널에서 컴파일하기 (0) | 2023.02.11 |
댓글