Notice
Recent Posts
Recent Comments
준호씨의 블로그
java 에서 char 이 short 로 그냥 타입캐스팅 되지 않는 이유 본문
반응형
친구의 질문. java 에서 char 데이터가 int 로는 타입 캐스팅 되는데 short 로는 안되는 이유?
인터넷 찾아 보니 char 는 unsigned 도 short 는 signed 라서 안된다고 함
char 는 0 to 2^16 - 1 (0 to 65535)
short 는 -2^15 to 2^15 - 1 (−32,768 to 32,767)
좀 안 와 닿을 수 있는데
http://cafe.naver.com/javachobostudy/21 를 보면 아래와 같은 말이 있다.
short과 char은 모두 2 byte의 크기를 갖지만, short의 범위는 -215 ~ 215-1(-32768~32767)이고 char의 범위는 0~216-1(0~65535)이므로 서로 범위가 달라서 둘 중 어느 쪽으로의 형변환도 값 손실이 발생할 수 있으므로 자동적으로 형변환이 수행될 수 없다.
아무튼 java 공식 문서나 java 의 소스 코드가 아니라 신뢰도가 100% 는 아니지만 대충 맞는 말인거 같다. 물론 강제로 char 를 (short) 로 강제 타입 캐스팅 할 수는 있지만 기본적으로는 개발자의 실수를 방지 하기 위해 막아 둔 듯 하다.
뭐 정확한 이유는 언어를 만든 사람들이 알겠지. 공식 문서 같은게 어딘가 있을 거 같은데 아직 못찾았음.
반응형
'개발이야기' 카테고리의 다른 글
php 의존성 관리도구. composer (2) | 2016.05.05 |
---|---|
RFC2246 The TLS Protocol Version 1.0 (0) | 2016.05.05 |
osx에 haskell 설치 (0) | 2016.05.04 |
/usr/bin/GET 설치. lwp-request. perl (0) | 2016.05.04 |
perl Moose 에러 - Invalid version format (version required) (0) | 2016.05.03 |
Comments