본문 바로가기

LECTURE/# java basic

[초급 JAVA]기본 문법 및 형변환

반응형

자바 문법 및 형변환

Intro

안녕하세요 commin 입니다. 바로 이어서 JAVA언어의 형변환이 어떤 것인지 에대해 포스팅 하도록 하겠습니다.

Explanation

형변환이란? 상수의 값을 크기가 다른 변수에 담는 작업을 뜻합니다. int 형으로 선언된 변수 a 가있다고 치면, a를 int형보다 작은 short 자료형에 억지로 넣은 것, 또 int 형보다 큰 long 형에 넣은 것, 두가지경우가 있겠네요. 작은 상자의 물건을 큰 상자로 옮길땐 힘들지않습니다. 그냥 부어버리면 되잖아요? 근데 더 작은 상자로 옮길때는 쉽지않습니다. 물건을 억지로 넣어보아도 원래상자에 많은 물건이 들어있었다면 다 못넣고 몇개는 삐져나오게되지요. 이렇듯 형변환은 Promotion (자동 형 변환) Casting (강제 형 변환)으로 나뉘게됩니다.

  • Promotion : A라는 상자에 닮겨있는 물건을 더 큰 상자인 B 에 넣을 때는 어렵지않습니다. 그냥 부어버리면되니까요, JAVA언어는 이 쉬운 작업을 그냥 자기가 해줍니다. 그래서 자동 형변환이라는 말이 붙은 거죠.  그냥 넣으면됩니다. 이땐 손실되는 데이터는 없습니다.
1
2
3
//자동 형 변환 
int a = 500000;
double b = a;
cs

  • Casting : 반대로 A라는 상자의 물건을 A 상자보다 더 작은 상자 C 에 넣을려고 할때는, 할일이많습니다. 복잡하구요. 비합리적입니다. 때문에 JAVA언어는 스스로가 판단을 내리지않습니다. 코더가 실수 한 것일 수 있기때문이지요. 그렇기 때문에 코더는 강제로 형 변환을 시킬 것이라는 걸 JAVA에게 알려줘야합니다. 더 작은 상자에 옮길때 상자 안에 물건들중 일부는 들어갈 자리가없어서 버려지게 되더라도 강제로 그렇게 하겠다라는 걸 말해줘야한다는 겁니다. 이땐 손실되는 데이터가 생길 수도, 안 생길 수도 있습니다.
1
2
3
//강제 형변환
int a = 500000;
short c =(short) a;//'()'안에 형변환을 시킬 자료형을 넣어야합니다.
cs

Closing

형변환에대해서 포스팅 해봤습니다. 결과물을 스샷찍어서 올릴려고 했으나, 그것은 이 글을 보는 여러분에게 맡기도록하겠습니다. 코딩은 직접 써봐야 이해되고 외워집니다. 눈으로만 봐서는 한계가 있습니다. 제가 설명한 내용이 잘못되었는지 잘되었는지는 여러분이 코딩 해보고 결과물을 봐야 합니다. 직접 코딩해보세요~ ^^


반응형