자바 캐스팅 중 주의 할 점은 하기와 같다.
byte a= 5 , b = 10;
byte c = a + b ;
위 구문은 정상적으로 컴파일 될까?
그렇지 않다. 피연산자로 사용된 a,b 변수는 int 로 자동 캐스팅 되기때문에
이때 반환값을 받는 byte c 는 int c 가 되어야 한다.
참고로, int 보다 작은 할당크기를 가지는 타입인 char, byte, short 등은 위 와 같은 연산에서 자동으로 int 로 캐스팅 된다.
[ Correct ]
byte a, b = 10
int c = a + b
그럼 하나더 살펴보자.
byte c = 5 + 10;
정답부터 이야기 하자면 위는 int 형으로 강제 캐스팅 되지 않는다.
15라는 값을 컴파일 단계에서 계산한뒤 byte c 를 통해 15가 저장된 메모리 공간을 가리킬 뿐이다.
감사합니다 :)
반응형
'앱 만들기 > 안드로이드 study' 카테고리의 다른 글
자바 - 형변환 주의 할 점. (byte 부호 연산 결과값) (2) | 2021.06.11 |
---|---|
자바 - 키보드로 부터 문자열 입력받기. (2) | 2021.06.08 |
안드로이드 프래그먼트 쉽게 만들어보기 - 2편 (0) | 2021.05.03 |
안드로이드 프래그먼트 쉽게 만들어보기 (1) | 2021.05.02 |
커스텀 리스트 뷰 만들기(직접 리스트 뷰 설계하기) (2) | 2021.04.21 |
댓글