생활코딩을 활용한 java 독학(8) - 변수의 효용 및 데이터 타입의 변환(casting)

지난 시간에 이어서 변수의 효용 및 데이터 타입의 변환(casting)에 대해서 배워봤습니다. 지금 시점에서는 정확히 이해가 어렵지만 캐스팅이 무엇인지에 대해서 알아봤습니다.

변수의 효용

public class Letter {

public static void main(String[] args) {
    String name = "leezche";
    System.out.println("Hello, "+name+" ... "+name+"... bye");

    double VAT = 10.0;
    System.out.println(VAT);
}

}

위 예시들에서 단순히 이름을 입력해서 변경하거나 숫자를 넣어서 변경해도 되지만 변수를 넣어서 바꾸는 것이 더 좋을 수 있다. 그냥 값이 쓰여있으면 우리는 값이 어떤 의미로 쓰인지 이해가 불가능하다. 그렇기 때문에 변수를 적으면 미래에 내가 보거나 다른 사람이 볼 때 어떤 이유로 쓰인지 이해가 가능하다. 코드는 단순히 나만 알아볼 수 있게 적는 것이 아니라 그 코드를 봤을 때 빠르게 어떤 코드인지 이해할 수 있도록 좋은 변수를 적는 것이 효율적이고 좋은 코드이다.

CASTING

public class CASTING {

public static void main(String[] args) {
    
    double a = 1.1;
    double b = 1;
    double b2 = (double) 1;
    System.out.println(b);
    
//  int c = 1.1;
    double d = 1.1;
    int e = (int) 1.1;
    
    // 1 to string
    String f = Integer.toString(1);
    System.out.println(f.getClass());
            

}

}

이해를 돕기 위해 밑에 int c = 1.1부터 설명하고자한다. c는 정수니까 1.1이라 적으면 오류가 발생한다. 따라서 밑에 적은 코드들은 왼편에 오류가 발생했다고 나오게 된다. 그러면 자바는 우리에게 2가지 제안을 제시한다.
첫째는 int가 아닌 double로 바꿀 것이고 둘째는 1.1을 명시적으로 int라고 해주는 것이다. 이는 1.1을 정수로 적게 되면 0.1이라는 손실이 발생하기 때문에 자동으로 해주지 않는다. 그렇기 때문에 수동으로 (int)라고 적어야지 오류가 발생하지 않는다.

앞서 봤던 b는 1로 정수지만 double(실수)를 입력했으니 이 정수가 담길 때는 1.0으로 컨버팅 되어서 담겨야한다. 하지만 1에서 1.0으로 컨버팅 될 때 손실이 없기 때문에 자바에서 자동으로 캐스팅 해준 것이다.

“모를 때는 마음 편히 검색을 하면된다. 가르쳐 주는 사람이 없어도 혼자서 구글에다가 치면 정보가 나오고 그를 통해 배워 가면 된다.”

String f = Integer.toString(1); 로 하면 1을 문자로 캐스팅해준다.
따라서 .getClass() 변수의 데이터 타입을 보여주는 명령어를 적었을 때 integer가 아닌 String이라고 나오게 된다.

슬슬 신기한 것들을 배우게 되네요. 아직까지는 새로운 것을 배우는 것이 재밌기만 합니다. 다음 시간에는 뭘 배울지 기대가 되네요.

Posted through the AVLE Dapp (https://avle.io)

Sort:  
 2 years ago 

[광고] STEEM 개발자 커뮤니티에 참여 하시면, 다양한 혜택을 받을 수 있습니다.

즐거운 날 되세요~~^^

!shop

你好鸭,bigbear34!

@garamee21给您叫了一份外卖!

加拿大人民早餐伴侣

吃饱了吗?跟我猜拳吧! 石头,剪刀,布~

如果您对我的服务满意,请不要吝啬您的点赞~


안녕하세요.
이 글은 SteemitKorea팀(@maikuraki)님께서 저자이신 @bigbear34님을 응원하는 글입니다.
소정의 보팅을 해드렸습니다 ^^ 항상 좋은글 부탁드립니다
SteemitKorea팀에서는 보다 즐거운 steemit 생활을 위해 노력하고 있습니다.
이 글은 다음날 다시 한번 포스팅을 통해 소개 될 예정입니다. 감사합니다!

Coin Marketplace

STEEM 0.16
TRX 0.15
JST 0.029
BTC 59051.02
ETH 2508.42
USDT 1.00
SBD 2.44