Intro

이 글에서는 자바(Java)의 변수와 타입에 대해서 다룹니다.


자바에서 변수란?

다른 언어와 마찬가지로 자바도 변수를 사용해 연산을 수행한다.

여기서 말하는 변수는 간단히 말하자면 “하나의 값을 저장하는 기억 공간”을 의미한다.

변수에는 주소값이 존재하며, 변수에 이름을 선언하는 것은 주소값으로 구분되는 변수를 분별하기 위해서이다.


선언과 대입

변수는 어떤 값을 저장하기 위한 메모리 공간이므로, 이 공간에 값을 넣기 위해서는 우선적으로 어떤 타입의 변수를 사용할 것인지

‘선언’하는 과정이 필요하다. 그리고 이렇게 선언한 변수에 값을 넣는 ‘대입’이라는 과정이 필요하다.

이 때 변수를 선언하고 처음 값을 대입하는 것을 ‘초기화’라고 한다.

예시

int a; // 선언
char b = 'B'; // 선언과 대입 (처음 값을 할당했으므로 초기화이기도 하다)

변수 타입

자바에서 변수는 크게 기본형 변수(primitive)와 참조형 변수(reference)로 구분된다.

기본형 변수에는 boolean, byte, char, short, int, long, float, double이 존재하며,

참조형 변수에는 String과 같은 문자열을 저장하는 변수가 존재한다.

기본형 변수의 분류 및 크기

         
분류/크기(byte) 1 2 4 8
논리형 boolean      
문자형   char    
정수형 byte short int long
실수형     float double

이 외에 String과 같은 레퍼런스 변수는 크기가 4byte라는 것을 알아두면 좋다.


전역변수와 지역변수

변수는 위치에 따라서 전역변수와 지역변수로 구분할 수 있다.

전역변수(클래스 변수): 클래스 내에서 공통으로 사용되어질 값을 의미한다.

특징: 자동 초기화

지역변수(로컬 변수): 메서드 내에서 사용되어질 값이며, 밖에서는 사용할 수 없다.

특징: 자동 초기화 불가. 명시적으로 초기화를 해야 한다.

전역변수와 지역변수 자동 초기화 확인

class Main {
    
    // 전역변수(자동 초기화)
    char gc; // u\0000
    byte gb; // 0
    int gi; // 0
    short gs; // 0
    long gl; // 0
    float gf; // 0.0
    double gd; // 0.0
    boolean gbool; // false
    static String gstr; // null
    
    public void myprint() {
        System.out.println("전역변수 자동 초기화:");
        System.out.println(gc + "," + gb + "," + gi + "," + gs + "," + gl);
        System.out.println(gf + "," + gd + "," + gbool + "," + gstr);
        
    }
    public static void main (String[] args) {
       // 변수 올 수 있는 곳 02: 지역변수
        Main ch = new Main();
        ch.myprint();
        
        //지역변수: 선언만 한 후에는 값이 자동적으로 할당되지 않는다.
        int gi = 6;
        short gs = 4;
        System.out.println("지역변수 출력:");
        System.out.println(gi + "," + gs);
    }
}

출력 결과

전역변수 자동 초기화:

,0,0,0,0
0.0,0.0,false,null
지역변수 출력:
6,4


리터럴

자바의 리터럴은 그 자체로 값을 의미하는 것을 말한다. 변수 타입의 범위보다 리터럴 값이 큰 경우 에러가 발생한다.

     
종류 리터럴 접미사
논리 false, true 없음
정수 123, 0b0101, 077, 0xFF, 100L L
실수 3.14, 3.0e8, 1.4f, 0x1, 0p-1 f,d
문자 ‘가’, ‘A’,’\n’ 없음
문자열 “가나다”, “A”, “true” 없음

단 실수 자료형의 경우 자바에서의 디폴트 값은 double이다.

float 자료형을 사용할 경우 리터럴 뒤에 f 접미사를 붙여야 한다.

태그:

카테고리:

업데이트:

댓글남기기