변수

충시깅·2022년 2월 25일

생활코딩

목록 보기
6/7
post-thumbnail
<출처> : @ryan.seoul.icon

변수(Variable)란?

간단한 프로그래밍을 한다면 숫자값을 바로 입력해서 계산을 진행할 수 있다.

public class JavaSimple {
	public static void main(String[] args) {
     system.out.println(1+1);
	}
}
👉 결과 : 2

하지만 좀 더 계산이 길어지거나 똑같은 숫자 값이 반복될 때는 계산된 값이 저장되어있지 않아서 처음부터 계산을 수행해야 한다.

그렇기 때문에 변수를 사용해서 계산하는 것이 더 효율적이고, 바람직하다.

즉 변수란, 값을 저장하는 메모리 공간을 말한다.

변수를 사용하는 과정

public class JavaVariableExample{
		public static void main(String[] args) {
 			
            int a;
            // int형 변수 a 선언
            a = 1;
            // int형 변수 a에 정수 1을 대입
            System.out.println(a);
            // a값을 출력
        }
}

👉 결과 a = 1
  • int형 변수 a를 선언해주어 값을 저장할 수 있는 메모리 공간을 만든다.
    즉, int(변수 타입) a(변수 이름) 라고 볼 수 있다.
  • int형 변수 a에 1의 값을 저장한다.

규칙🤔🤔🤔

변수 이름을 선언하는 데에는 몇 가지 규칙이 존재한다.

  • 대소문자가 구분된다.
  • 길이의 제한이 없다.
  • 한글로도 작성 가능하지만, 영어를 원칙으로 한다.
  • 상수는 모두 대문자로 작성한다.
  • 숫자로 시작할 수 없다.
  • 특수문자는 _(언더바)와 $만 가능하다.
  • 여러 단어로 이루어진 경우 단어의 첫 글자를 대문자로 한다. ex) VariableExample

규칙을 정해놓은 이유는 다른 사람들과 협업하는 과정에서 코드를 더욱 쉽게 보기 편하게 하려고 정해놓은 것 같다.

DataType의 종류

변수 타입에도 여러 가지 종류가 있다.
데이터는 크게 기본형(자료형)참조형 으로 2분류로 구분하고
기본형은 8가지, 참조형은 기본형을 제외한 나머지 타입이다.

기본형을 먼저 살펴보자면.....

기본형 변수

public class JavaNormalVariable{
	public static void main(String[] args) {
   	
       boolean booleanType:
       
       char charType:
       
       byte byteType:
       
       short shortType:
       
       int intType:
       
       long longType:
       
       float floatType:
       
       double doubleType:
       
   }
}

기본형 : 8가지를 분류하면 논리형, 문자형, 정수형, 실수형과 같이 4가지로 분류할 수 있다.

논리형(boolean) => ture,false 2가지중 하나의 값을 가지며, 계산 시 참, 거짓을 판단할 때 사용한다.

문자형 (char)=> 문자를 저장할 때 사용한다.

정수형 (byte, short, int, long)=>
정수<...-2, -1, 0, 1, 2...>값을 저장하는데 사용한다.

실수형(float, double) => 실수 값을 저장하는데 사용한다.

  • 논리형은 boolean 한 가지밖에 없고 저장값도 ture, false 두 가지뿐이다. 기본값은 false이고 논리식, 조건식에 주로 사용된다.

  • 문자형은 char 한가지 뿐이다.
    cahr형은 2byte 크기를 가지고 있고, 65536개의 값을 표현할 수 있다.
    문자형은 사실 문자를 저장하는 것이 아니라 문자를 나타내는 정수값이 저장되고 출력은 문자로 표현되는 것이다.

  • 정수형은 byte, short, int, long 이렇게 4가지 타입이 있다.
    long이 가장 크고 그다음은 int, short, byte 순이다.
    int형과 long 형을 많이 쓰고 long을 쓸 때는

long longType = 2133434L;

처럼 숫자 뒤에 L을 써줘야 한다. (일종의 표시)

  • 실수형은 float, double 두 가지가 있다. float와 double은 크기가 각각 4byte, 8byte로 int와 long이랑 동일하다. 하지만 소수점까지 표시하기 때문에 크기만 같고 좀 더 넓은 표현이 가능하다.

    실수형에서 float에 저장하려는 값 뒤에도 F를 붙여줘야 한다.
    (float라고 표시하기 위해 사용하는 것)

참조형 변수

참조변수는 프로그래머가 직접 만들어서 사용할 수 있다.
기본형처럼 수가 정해져 있지는 않다.
기본형이 실제 계산 값을 저장하는 변수 타입이라면, 참조형은 어떤 값이나 형식이 저장되어있는 주소를 값으로 가진다.

그렇다고 아무것도 정해져 있는게 없는건 아니다

기본형에 포함되어 있지 않지만 개발자들이 자바언어를 사용하면 자주 쓰이거나 유용한 참조형 변수를 미리 만들어놓은 것도 있다.

+ String

java에서는 기본적으로 문자열을 처리할 수 있는 자료형은 존재하지 않는다.
기본형에서도 문자를 처리할 수 있는 char형만 있다. 대표적으로 java에서 문자열에 자주 쓰기 때문에 쓰인다.
크기는 4byte이다.

참조형 변수의 선언방법

String str = new String("자바");

맨 앞에 나오는 String은 참조 변수의 역할을 하고 str은 변수 이름이다.
'=' 다음에 실제 값이 나오는데 new라는 새로운 놈이 나타나서 참조 변수를 한 번 더 언급하고 실제 값이 나온다.
new는 생성자(Constructor)라는 이름을 가지고 있다.
new의 의미는 새로운 이라는 뜻을 가지고 있다.
new String("자바")
String이라는 참조변수를 new라는 생성자가 새로 생성한다는 뜻이다.
문자열을 처리하는 String이라는 참조 변수를 생성해 "자바"라는 문자열을 변수에 저장한다는 뜻이다.

주의사항
new 뒤에 나오는 참조 변수의 이름은 우리가 처음에 선언한 참조변수와 같아야한다.

new 생성자를 사용하면 참조 변수는 모두 다른 주소를 갖게 된다.

마무리

기본형 변수와 참조형 변수에 대해 알아보는 시간을 갖고 공부해 보았다.
변수에는 규칙이 존재하는 것을 알았다. (생각보다 규칙이 까다로웠다)
기본형 변수는 종류가 8가지이고 여기서도 4가지로 나뉜다. 각각의 타입마다 저장하는 변수가 다르고 특징이 존재하는 것을 알았다
기본형 변수와 참조형 변수는 선언하는 방식은 비슷하다고 생각했었는데 조사하면서 생각이 바뀌었다.
1. 기본형 변수는 실제 값을 메모리에 저장하지만, 참조형 변수는 실제 값의 주소를 메모리에 저장한다.
2. 참조형 변수를 선언하는 방식에서 new라는 생성자를 사용해서 무수히 많은 변수를 선언할 수 있다는 것을 알았다.
3. 두 종류의 변수는 저장하는 방식이 다르다.
4. 참조형 변수에도 대표적으로 쓰이는 것들은 개발자분들이 만들어 놓으셨다.
Java는 변수의 데이터타입을 엄격하게 통제하기 때문에 앞으로도 데이터타입을 정확히 구별하면서 사용해야 한다.

<참고>https://opentutorials.org/course/3930/26660
profile
잠자는 개발자지망생

0개의 댓글