안녕하세요.


이번 시간에는 자료형을 변환시키는 방법을 배워보겠습니다.



1
2
3
4
5
6
7
8
9
10
11
12
13
14
package study;
 
public class Study01 {
 
    public static void main(String[] args) {
 
        int a = 1;
 
        System.out.println(a + 2);
 
    }
 
}
 
cs

위 예제를 보세요. 결과가 예상되시나요? 네, 3이 출력되겠죠.




1
2
3
4
5
6
7
8
9
10
11
12
13
14
package study;
 
public class Study01 {
 
    public static void main(String[] args) {
 
        String a = "1";
 
        System.out.println(a + 2);
 
    }
 
}
 
cs

이건 어떨까요? 이번에는 a 변수가 문자형으로 선언되었고 큰따옴표로 묶인 숫자가 들어갔네요. 숫자를 따옴표로 묶으면 문자로 취급되기 때문에 문자형 변수 속에 들어갈 수 있습니다. 실행해보면...

 12

...가 나오네요?! 네, 사실 얼마전에 배웠죠. 숫자+문자 또는 문자+숫자는 산술적인 계산을 하지 않고 붙어서 출력이 됩니다.


자, 그렇다면 이번 시간의 주제인 자료형 변환을 한번 해볼까 합니다. 줄여서 '형변환'이라고 합니다. 문자로 취급된 숫자는 숫자형으로 형변환이 가능합니다. 이번 경우에는 1이 정수니까 정수형으로 형변환이 가능하겠군요. 1에 붙어있는 큰따옴표를 벗겨내는 작업이랄까요 ㅎㅎ




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
package study;
 
public class Study01 {
 
    public static void main(String[] args) {
 
        String a = "1";
        
        int b = Integer.valueOf(a);
 
        System.out.println(b + 2);
 
    }
 
}
 
cs


int 변수명 = Integer.valueOf(문자형 변수);


이런 공식입니다. (I가 대문자임에 유의하시구요.)



int b = Integer.valueOf(a);


=을 기준으로 오른쪽이 왼쪽에 들어간다고 했죠? a 속에 있는 값이 정수형으로 변환되어 b에 들어가는 거죠.


이제 3이 출력되는 걸 볼 수 있습니다.



9행을 int b = Integer.parseInt(a); 이렇게 적어도 결과는 동일합니다. 방법이 두가지 있는 거죠. 취향에 따라 골라 쓰시면 되겠습니다.


둘다 영어단어가 좀 어려운데 Integer가 '정수'라는 것만 외워둬도 반은 먹고 들어갑니다 ㅎㅎ



그런데말입니다. 애초에 a를 정수형으로 선언해두면 될 것을 왜이리 세상을 힘들게 사냐구요? ㅎㅎ 다음 시간에 나오는 공부를 하시다보면 형변환의 필요성을 절감하실 겁니다 ㅎㅎ


감사합니다.





< 오늘의 과제 >


본문과는 반대로 정수형을 문자형으로 바꾸는 방법을 인터넷 검색을 통해 알아보세요.


+ Recent posts