생활코딩

Coding Everybody

코스 전체목록

닫기

변수

수업소개

내가 그의 이름을 불러주기 전에는
그는 다만
하나의 몸짓에 지나지 않았다. -김춘수 꽃-

변수란 데이터에 붙이는 이름입니다. 이름을 붙이기 전까지 우리는 그 데이터를 부르기 어렵고, 기억하기 어렵고, 이해하기 어렵습니다. 이 수업에서는 바로 이 변수를 배웁니다. 

 

 

 

강의 1

소스코드

변경사항

public class Variable {

    public static void main(String[] args) {
		
		int a = 1; // Number -> integer  ... -2, -1 , 0, 1, 2 ...
		System.out.println(a);
		
		double b = 1.1; // real number -> double ... -2.0, -1.0, 0, 1.0, 2.0 ...
		System.out.println(b);
		
		String c = "Hello World";
		System.out.println(c);
	}

}

 

 

 

강의 2

소스코드

변경사항

public class Letter {

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

}

 

 

 

강의 3 

소스코드

변경사항

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;
		System.out.println(e);
		
		// 1 to String 
		String f = Integer.toString(1);
		System.out.println(f.getClass());


	}

}

 

 

댓글

댓글 본문
  1. Kyu Kim
    강의1
    왜 변수의 데이터 타입을 지정하는가?
    변수의 효용 강의2랑 이어짐

    강의2
    변수의 효용
    : 변수를 적용하면 그 변수가 어떤 취지에서 사용되었는지 의미를 파악할 수 있다. 그러니까 미래의 내가 또는 다른 사람이 내 코드를 보았을때 의미파악이 가능하다

    강의3
    Casting에 대해 알게 된 것
    : 어떤 특정한 변수를 다른 변수로 convert하고 싶을때 Casting이라는 키워드를 떠올리면 되고 그걸로 검색해서 이용하면 된다
  2. 블르므드
    강의1]
    각 문자마다 성격이 있다.(integer, double, string 등)
    왜 변수를 먼저 선언하고 해야하는가? -> 이 값이 정확히 어떤 의미인지 작성자뿐이 알 수 없다.

    강의2]
    변수를 활용하여 문자열 사이에 변수를 삽입할 수 있다.
    응용
    String name1 = "Baek";
    System.out.println("Hello, "+name+" ... "+name+" ... egoing ... bye".replace("egoing",name1));
    => egoing에 Baek 출력

    강의3]
    형변환 가능.
    캐스팅 : Data type Convert
    무손실 : AutoCasting. 1.1 -> 1.1 그대로 감
    손실 : Not AutoCasting. 1.1 -> 1. 0.1이 사라짐
    이미 선언되어있는 변수의 형변환 함수는 이해하지 못함..
  3. 조조
    이 값이 어떤 자료형인지 꺼낼때마다 확인할 필요 없이 확실할 수 있기 때문에 (안전하다?)
    변수의 이름은 이 값이 어떤 의미인지 작성자 외에 다른 사람(+미래의 작성자)에게 알려주는 기능을 하기 때문에 중요하다.
    어떤 변수의 자료형을 다른 자료형으로 바꿔주는 기능. 지금 당장 많이 쓰일 기능은 아니지만 미래에 필요할 개념. 그럴 때 cast라는 키워드로 검색하자!
  4. 선대범
    syso (f); // 1
    참고
    syso (f.get.Class);//(data type 알수 있음)
    대화보기
    • 선대범
      변수의 효용: 협업시 유용, 나중에 봐도 데이타의 으미를 분명하게 알수 있음
      캐스팅 : 데이타타입 컨버트
      무손실 : 오토캐스팅
      손실 : 오토캐 불가, 명시적 강제 캐스팅
      int e = (int) 1.1;
      syso (e); // 1
      구글링 java casting int to stirng
      String f = integer.toString(1)
    • 선대범
      변수의 정의 : 변할 수 있는 문자
      데이타 타입
      정수 : 인티저 / 실수 : 더블 / 문자열 : 스트링
      데이타 타입 설정해야하는 이유: 효율적인 컴파일링?
      int c = hello world;
      syso (c) > err
    • <변수의 정의>
      '연산을 위해 자료를 보관하는 곳'이자 '그 안의 값이 계속 변하는 것'을 [변수]라고 하는데, 그 변수들을 쉽게 구별하기 위해 변수에 이름을 붙여 사용자가 알기 쉽게 지정하는 것을 [변수명]이라고 한다.
      1. integer : 정수(… -2, -1, 0, 1, 2 …)
      integer a = 1; // Number -> integer(정수)
      System.out.println(a); // 1
      2. double : 실수(… -2.0, -1.0, 0, 1.0, 2.0 …)
      double b = 1.1; // real number -> double(실수)
      System.out.println(b); // 1.1
      3. String : 문자
      String c = "Hello World";
      System.out.println(c); // Hello World

      <변수의 효용>
      변수는 누구나 알기쉽게 쓰임새에 맞는 이름을 지정하는 것이 중요!
      1. String - name(변수)
      String name = "Lin";
      System.out.println("Hello, "+name+" ... "+name+" ... bye."); // Hello, Lin ... Lin ... bye.
      2. double - VAT(변수:부가가치세)
      double VAT = 10.0;
      System.out.println(VAT); // 10.0

      <Casting>---어떤 공부에서든 독립의 길은 검색하는 능력을 키우는 것이다!
      데이터타입을 강제로 변환하는 기능으로 바꾸는 과정에서 손실이 발생할 수도 있다.
      1. double
      double a = 1.1;
      (double b = 1;) = (double b = (double) 1;
      System.out.println(b); // 1.0
      2. int
      int c = 1.1;
      double d = 1.1;
      int e = (int)1.1; // -> 0.1손실 발생
      System.out.println(e); // 1
      3. string
      // 1 to string
      string f = integer.toString(1);
      System.out.println(f); // 1 -> string1(문자열1)
      * 변수의 데이터타입을 알려면?
      변수 뒤에 .getClass()
      System.out.println(f.getClass()); // class.java.lang.String
    • 백호
      변수의 효용은 데이터 타입을 지정할 수 있는 것 뿐만 아니라, 작업할 때 많은 변수들을 한번에 통제할 수 있는 효율성에 있다. 코딩은 상호간 언어이기 때문에 상대방이 변수가 어떤 값을 내포하고 있는지(VAT, name, cost, etc...) 변수 데이터 name을 단번에 이해하도록 만드는 능력은 매우 중요하다.
    • 백호
      자바에서 데이터 타입별로 변수를 저장하는 이유는 compile 할 때 다시 구분하는 과정을 거치지 않아도 되기 때문에 효율적인 compile을 가능토록 한다. 대신 지정해줄 때 약간의 번거로움이 따라온다.
    • 초짜이선생
      190
    • 쿄잉
      자바에서 데이터 타입을 지정하는 이유:
      변수에 데이터 타입을 확실히 지정하면 그 데이터 타입에 맞는 값이 들어갈때만 컴파일을 할수 있게 해주므로 사전 방지의 효과를 가져올 수 있다.

      변수의 효용
      변수는 값에 이름을 정해주는 것인데, 코딩을 하거나 코드를 볼때에 그 보는 코드가 어떤 의미를 갖고 있는지 파악할수 있게 코드를 짜는것은 매우 중요한 일이다. 코드 하나하나가 의미를 갖게 해줄때 사용할수 있는 핵심요소중 하나는 바로 변수에 데이터 타입, 즉 자료형을 선언해주는 것이다.

      casting
      자바에서는 각 변수의 데이터 타입을 엄격히 구분하는데, 한 변수의 데이터 타입을 다른 데이터 타입으로 바꾸는것을 '캐스팅'이라 부르고, 그 캐스팅 방법은 검색을 통하여 알수 있다.
    • 변수

      int a = 1; // Number -> integer
      System.out.println(a);

      double b = 1.1; // real number -> double
      System.out.println(b);

      String c = "Hello World"; // String 문자열 자료형
      System.out.println(c);

      데이터 타입(자료형) 지정 이유: 변수를 자료형에 담으면 값을 넣을 때 까다롭지만, 꺼낼 때 마다 정수인지 문자열인지 확인할 필요가 없다. 무조건 선언된 자료형에 속하므로.


      String name = "leezche";
      System.out.println("Hello, "+name+" ... "+name+" ... egoing ... bye");

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

      변수의 효용: 코드의 의미를 빨리 파악할 수 있도록 코드를 작성하는 것은 매우 중요
      그 중 사용하는 중요 수단 중 하나가 '변수'
      변수는 값에 이름을 부여하는 것이므로 알아보기 쉬운 좋은 이름을 써야함

      double a = 1.1;
      double b = 1; // 소수점 손실x
      double b2 = (double) 1;
      System.out.println(b); // 1.0 //자동으로 1이 1.0으로 컨버팅

      //int c = 1.1;
      double d = 1.1; // 1.1
      int e = (int) 1.1; // 1 소수점 손실
      System.out.println(e);

      // 1 to String
      String f = Integer.toString(1); // int to string 형 변환
      System.out.println(f.getClass()); //getClass()함수는 변수가 갖고 있는 값이 어떤 데이터 타입인지 알려줌
      casting: 데이터 타입을 다른 데이터 타입으로 컨버팅

      구선생: java int to string
    • 캐스팅에 대해서 하나도 몰랐는데, 이 강의를 통해서 알게 되네요 ㅎㅎ
      초보자인 저도 잘 알 수 있도록 친절하게 설명해주셔서 감사합니다 :D
      열심히 공부하곘습니다.
    • 영철이
      2020.4.21 완료! 감사합니다
    • yechubot
      - 데이터 타입을 다시 확인하지 않아도 되는 편리성. 하지만 값을 넣을때 까다로움
      - 변수이름을 지정하면 누구든지, 언제든지 무엇인지 알 수 있음. 변수에게 좋은 이름 부여하기!
      - 캐스팅을 사용하면 데이터 타입을 변환할 수 있다.
    • green diseny
      2020년 4월 19일

      자바에서 변수의 데이터 타입을 지정하는 이유는 그안에 정수나 실수 문자열이 들어가 있으면
      다른것은 애초에 들어가지도 못하고 컴파일이 안되므로 확실히 그안에 정수나 실수 문자열이 들어가있는것으로 확신할수있으므로 대단히 편리하기때문이다.

      변수의 효용

      *변수를 활용하면 그 코드를 보고 이코드가 어떤의미인지 봤을때 알수있다.

      *변수는 값에 이름을 부여하는것이므로 좋은이름을 부여해야한다!!!

      캐스팅은 데이터타입을 다른 데이터타입으로 컨버팅하는것
      실수 1.1이있는다 이걸 int로하면 0.1손실이있으므로 바꾸지않고 우리가 명시해서 (int)1.1;
      을하면 1로 바뀐다 또 정수1을 double로하여도 1.0으로 컨버팅 되는것은 잃어버리는 값이 없기때문이다!
    • 송댕댕
      감사합니다.^^
      대화보기
      • 웰시코기
        네 맞는 코드입니다. String f="1" 에서 쌍따옴표로 1을 감싸줬기 때문에 1이 String 타입으로 선언되었습니다.
        대화보기
        • 송댕댕
          안녕하세요, 질문이 있습니다!

          // String f = "1";

          String f = Integer.toString(1);
          System.out.println(f.getClass());

          위 코드에서 주석에 해당하는 부분과 강의에서 보여주신 값을 Run했을 때 Console에 일치하게 나옵니다.
          주석의 코드도 맞는 Code일까요?
        • dofvmrhwk
          2020년 3월 30일 완료
        • 메르시이고
          캐스팅

          자바에서는 변수의 데이터 타입 통제가 매우 중요함
          변수의 데이터 타입 변환이 필요한 경우 캐스팅을 이용함
        • 눈누난나
          완료
        • 문병민
          2020.03.11 완료

          java 변수에 데이터 타입을 지정하는 이유는

          다른 데이터 타입의 정보가 들어오는 것을 미리 막아주는 편리함이 있기 때문이다.

          변수의 효용

          그 코드를 딱 봤을 때 코드의 의미를 빠르게 파악할 수 있도록 도와준다.
          그래서 변수는 값에 이름을 지정해주는 것이다.
          변수는 좋은 이름을 지정해야한다.

          캐스팅과 관련해서 다 알려고 하지말자 검색하자
        • 정찰스
          변수가 있는 이유
          Java에서는 정확한 데이터 타입을 변수에 넣어줘야 한다.
          마치 어떤 액체인지 알려주는 음료수의 용기와 같아
          데이터 안의 값이 직접 확인하지 않고도 어떤 것인지 확신을 줄 수 있기 때문이다.

          변수의 효용
          어떤 값에 이름을 부여해 지정해놓은 데이터를 활용하기 위해 변수를 사용한다.
          이후 데이터를 수정할 때 어떤 종류의 데이터인지 알기 때문에 작업을 용이하게 할 수 있다.
          코드를 짠 본인 뿐만 아니라 다른 사람들이 나중에 데이터를 수정할 수 있으므로,
          변수는 코드의 의미를 명확하게 알 수 있는 이름으로 만들어야 좋다.
        • 완료
        • 자바를자바라
          2020-03-03
          Variable & Casting
        • 노수광
          수광완료
        • 수영
          20200226
          캐스팅-변수를 다른 변수로 바꾸는 것. 잘 모르겠을 땐 구글 검색
        • dofvmrhwk
          2020/2/25 완료
        • 베이비유저<baby user>
        • 칩과데일
          完了
        • 권태우
          완벽한 강의 !!
        • 감사합니다! ㅎㅅㅎ
        • 임지수
          2020.01.25 완료
        • Kimjh(dondecoman)
          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;
          System.out.println(e);
          }

          }

          요렇게 학습했는데,
          알파벳 앞쪽에 커서를 갖다 놓으면 바꿀 수 있는 기능이 나타남.
          그런데, int가 걸려서 소수점을 버린다든지
          일일이 다 바꿔서 해야하는 문제는 고민해봐야겠음
        • Kimjh(dondecoman)
          1이 정수라서 int로 놓는듯..(내 생각)
          그런데, 소수점이 있는 숫자 1.1도 쓰기 때문에..
          1.1 은 실수라고 함 -1.0 -2.0 이런식으로 무한대로 늘어남.
          실수는 real number인데 realnumber를 자바에서는 double이라고 함
          그래서
          double b = 1.1로 놓으면 작동되는 것임.

          String c <===string은 문자열이기 때문에 "Hello World"임
          String c = "Hello world"
          물론 각각 밑에는
          system.out.println(c)박아주고...
        • 뉸찡
          2020.01.21 완료!!
        • Serina
          완료!
        • 취생아
          완료 2020.01.13
        • 라또마니
          완료. 감사합니다.
        • 소금설탕
          완료. 고맙습니다.
        • 윌리엄
          자바가(혹은 컴퓨터가) 데이터 타입을 지정해야 하는 이유는 '객체를 확신할 수 있는가'라는 맥락에서 이렇게 비유해볼게요.

          내가 미래에 어떤 사람에게 실탄 총을 쏴야한다면, 미리 총을 준비해야겠죠. 총을 그냥 손에 들고 가긴 그러니 상자에 담아간다고 합시다.
          근데 실탄총이 아니라 실수로 비비탄총을 담아서 쏘러 간다면 낭패겠죠. 그래서 아예 실탄총이 아니면 들어갈 수 없는 상자를 만든겁니다. 그런 상자를 어떻게 만들진 논외로 하고요.
          그러면 나중에 총을 쏠 때가 되어 상자에서 꺼내려 할 때, 그 때 가서 비비탄총인지 확인하지 않고도 바로 총을 쏠 수 있겠죠. 사족으로 비비탄총이었다면 작전을 거기서 멈추고, 다시 실탄총을 가지러 가든지 해야겠죠.
        • 쑤우
          수강완료. 감사합니다~
        • 야무치이처누기
          선생님 감사합니다.
        • 김민호
          자바에서 데이터 타입을 지정하는이유 : 이게 숫자인지 문자인지 실수인지 정수인지 판단이 되지 않아서

          컴퓨터 입장에서는 어쩌라는건지 모르기 때문?
        • 햄쮸맨
          흠..캐스팅 해주는 명령어도 여러가지인데 각각 상황에 맞게 돌려 써야하는군요!
        • 햄쮸맨
          변수에 데이터 타입을 지정하는 이유! 함수를 쓸때 잘못된 데이터 타입의 데이터가 들어가지 않게하기 위해서 아닐까용? 저는 그렇게 생각해봤어요! 각 데이터 타입별로 적절한 처리가 필요하잖아요! 예를 들어서 문자열로 사칙연산을 할 순 없잖아용?오 두번째 영상에는 변수를 선언하는 이유 중 하나가 나오네요. 사람간의 정보의 시인성을 높히기 위해서!세번째 영상에선 데이터 타입을 바꿔주는 캐스팅에 대해서 배웠는데요. 캐스팅을 하는 이유는 데이터 타입을 바꿔서 다른 데이터 처리방법을 사용하기 편하게 하기 위해서 아닐까용!?
        • 김연재
          변수는 저장한 데이터를 사용할 때 편리하기 위해 사용합니다. 변수의 이름을 보고 우리는 어떤 데이터인지 알 수 있습니다. 이는 미래에 데이터를 수정할 때 편리하게 합니다.
          예를들어 지역번호를 저장할 때 (02,031,...)등 우리나라 사람들이 본다면 지역번호에 대한 변수이구나 알 수 있지만
          이를 잘 모르는 외국인들은 해당 데이터가 어떤값인지 알 수 없을것입니다.
          이를
          int areaCode = 02; 로 표기하면 해당 데이터가 지역번호임을 쉽게 알 수 있을것입니다..
          대화보기
          • 김연재
            변수란, 데이터를 저장하는 메모리를 만드는 것이다.
            변수의 데이터 타입을 지정하는 이유는 저장된 데이터를 읽어들이기 편리하게 함이다.
          • egoing
            좋은 질문입니다. 그런데 지금을 이해하기 어렵습니다. 우리 수업 끝에 도착하신 후에 저의 설명을 다시 한번 읽어보시면 보이는게 조금 달라져있을겁니다.

            자바는 객체지향언어입니다.
            모든 데이터를 객체로 다룹니다.
            그런데 예외인 것들이 있습니다.
            int, double 같은 소위 원시데이터타입이라 불리는 것들입니다.
            하지만 원시 데이터 타입도 객체로서 다뤄야 할 때가 있습니다.
            이럴 때 원시 데이터 타입을 감싸서(wrap) 객체로 만들어준 데이터들을 Wrapper 객체 혹은 Wrapper 클래스라고 합니다.
            대화보기
            버전 관리
            egoing
            현재 버전
            선택 버전
            graphittie 자세히 보기