티스토리 뷰

SEB_BE_41

JAVA - 형변환

Greatshine 2022. 7. 9. 13:36

형변환이란 데이터타입을 변경하는 것이다.

예를 들어 int형의 정수 200의 bit값은 아래와 같다.

 

형변환 - 생활코딩 (opentutorials.org)

 

컴퓨터의 모든 정보는 0과1로 만들어지기 때문에 이런 형태로 이루어져 있다.

그렇다면 float형의 실수200.0의 bit값은 어떻게 될까?

 

형변환 - 생활코딩 (opentutorials.org)

 

정수인 200과는 다른 형태로 이루어져 있다는 것을 볼 수 있다.

사람에게는 똑같은 200으로 보일지라도 컴퓨터에게는 다른 정보로 저장된다.

그러므로 형식이 다른 데이터들을 더하거나 빼거나 등의 계산을 하려면

한쪽의 데이터타입을 다른 쪽의 데이터타입으로 전환해야 한다.

 

자동(암시적) 형변환

 

자바는 형변환을 자동으로 처리해주는데 이러한 전환 작업을 자동(암시적) 형변환(Implicit Conversion)이라고 부른다.

 

 

 

 

아래는 자동 형 변환이 일어나는 규칙이다.

형변환 - 생활코딩 (opentutorials.org)

 

char도 내부적으로는 숫자다. 

char를 int로 형변환하면 char는 문자이기 때문에 유니코드 값으로 변환된다.

 

 

 

위의 연산은 두 번의 형 변환이 일어난다.

이처럼 서로 다른 데이터타입을 더하거나 빼거나 하는 등의 계산을 위해(다른 이유도 있겠지만)

표현 범위가 좁은 데이터타입에서 넓은 데이터타입으로의 변환이 허용되는 것이다. 

 

명시적 형변환

 

자동 형변환이 적용되지 않는 경우, 수동으로 형변환을 해야 한다. 이를 명시적 형변환(Explicit Conversion)이라고 한다.

 

 

 

분명 위에서도 비슷한 내용을 학습하였는데

이 부분을 학습하려 했을 때 "어?" 하며 갑자기 이해가 되지 않는 순간이 잠깐 있었다.

하지만 float이라는 이름이 붙은 f라는 그릇에 더 큰 double이라는 값을 담으려 하니 오류가 뜨는 거구나라고

생각하니 이해가 빠르게 되었다.

 

 

 

 

 

'SEB_BE_41' 카테고리의 다른 글

JAVA - 비교와 Boolean  (0) 2022.07.12
JAVA - 연산자  (0) 2022.07.11
JAVA - 상수의 데이터타입  (0) 2022.07.08
JAVA - 데이터타입  (0) 2022.07.07
JAVA - 변수  (0) 2022.07.06
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/09   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함