백엔드 개발자 공부/Java

[Java] 변수

gotoguy 2022. 8. 30. 21:49
728x90

컴퓨터의 기억 과정

    - 컴퓨터가 데이터를 다룰 때, 메모리에 임시로 데이터를 기억해둠

        1. 값이 얼만큼의 메모리 공간을 필요로 하는지 파악타입
        2. 값이 차지하는 용량만큼의 메모리 공간을 확보
        3. 값을 저장한 공간에 이름을 붙임 → 변수
        4. 확보한 메모리 공간에 값을 저장

    - 프로그래밍에서는 1~3번의 과정을 변수를 선언한다고 하며, 4번을 변수에 값을 할당한다라고 부름


변수(Variable)

    - 값이 변할 수 있는 데이터를 임시적으로 저장하기 위한 수단

    - 값을 저장할 수 있는 메모리 공간에 사람이 식별할 수 있는 이름을 붙인 것

        cf. 메모리란?

            - 컴퓨터의 데이터를 저장하는 역할을 하며, 1byte 크기의 데이터를 저장할 수 있는 메모리 셀들이 모여서 만들어짐

            - 각 메모리 셀에는 고유 변호가 오름차순으로 매겨져 있으며, 그 고유 번호를 메모리 주소라고 부름

 

변수 선언

    - 저장하고자 하는 값의 데이터 타입변수 이름 입력

int num;	// int 타입의 num 변수 선언

    - 데이터 타입에 따라 차지하는 메모리 공간이 다름

    - 즉, 변수를 선언한다는 것은 어떤 값을 저장할 메모리 공간을 확보하고, 해당 메모리 공간을 식별할 수 있는 이름을 붙이는 것을 의미함

 

값 할당

    - 선언한 변수에 값을 넣는 과정할당 또는 대입이라고 함

    - 대입 연산자(=)를 활용하여 우항에 있는 값을 좌항의 변수에 대입해줌

int num;	// 변수 선언
num = 1;	// 값 할당

    - 변수 선언 후 처음으로 값을 할당하는 것을 초기화, 초기화 후 다시 다른 값을 할당하는 것을 재할당이라고 함

    - 변수 선언과 동시에 초기화하는 것도 가능

int num = 1;	// 변수 선언과 동시에 초기화

 

변수 명명 규칙

    - 변수 이름을 지을 때에 지켜야 하는 룰

    - 변수명은 사용 목적에 맞게 작명하는 것이 중요. 좋은 코드는 잘 동작할 뿐만 아니라, 사람에게도 잘 읽혀야 함

    - 자바의 변수명은 카멜 케이스(camelCase, 두 번째 단어부터 대문자로 시작해 구분하는 방식) 사용

int camelCase;

    - 영문자, 숫자, _, $를 사용할 수 있으며, 대소문자는 구별되어 다른 문자로 인식됨

    - 숫자로 시작하는 변수명은 사용할 수 없음

    - 예약어(reserved word, 자바에서 이미 사용중인 단어)는 변수명으로 사용 불가(e.g. btye, class)


상수(Constant)

    - 재할당이 금지된 변수

    - 변하지 말아야 할 데이터를 임시적으로 저장하기 위한 수단

    - final 키워드를 사용해 선언

    - 관례적으로 SCREAMING_SNAKE_CASE(대문자를 사용하고 언더바(_)를 넣어 구분하는 방식) 사용

final String ONE_PLUS_ONE = "1 + 1 = 2";

 

상수를 사용하는 이유

    - 값이 변하면 안되는 경우 : 실수로 상수에 값을 재할당하려고 하면 에러가 발생하도록 하기 위해

    - 코드 가독성을 높이고 싶은 경우 : 값 대신 상수명을 사용하여 가독성 향상

    - 코드 유지관리를 손쉽게 하고자 하는 경우 : 상수값을 변경할 때는 할당하는 코드만 변경하면 됨

728x90

'백엔드 개발자 공부 > Java' 카테고리의 다른 글

[Java] 제어문 (1) - 조건문  (0) 2022.08.31
[Java] 연산자 & 콘솔입출력  (0) 2022.08.30
[Java] 문자열  (0) 2022.08.30
[Java] 타입  (0) 2022.08.30
[Java] Intro  (0) 2022.08.30