본문 바로가기
프로그래밍 기초/Java

[Java] 변수와 상수의 이해: 선언 방법과 규칙, 자료형 및 형변환

by 제이투더문 2024. 6. 10.

 

 

 안녕하세요. 작가 J 입니다. 이번시간에는 Java의 변수와 상수, 선언방법, 선언규칙과 Java의 자료형, 크기 그리고 자동형 변환과 강제형변환까지 알아보도록 하겠습니다. 저희 클래스도 이게 한 과정이라 조금 길 수 있습니다. 천천히 따라와 주시면 감사하겠습니다.

 

 

▤ 목차

     

    1. 변수와 상수의 정의, 선언 방법

     

     

     변수(Variable): 변수는 값을 저장하기 위해 메모리 공간을 예약하는 이름입니다. 변수는 저장된 값을 변경할 수 있으며, 프로그램 실행 동안 여러 번 값을 변경할 수 있습니다. 인간은 어떠한 숫자를 말했을 때 뇌가 기억을 하지만, 컴퓨터는 값을 담기 위한 메모리 공간이 필요합니다.

     

     상수(Constant): 상수는 한 번 값을 설정하면 변경할 수 없는 변수를 말합니다. 프로그램 실행 동안 값이 고정되어 있어야 하는 데이터를 저장할 때 사용됩니다. 예를 들자면 𝝅(3.14......) 라던지, 주민등록상 2000년대 이전 남자는 뒷자리 1로 시작한다. 1시간은 60분, 1kg은 1000g 등이 있습니다. 

     

    변수와 상수 선언 방법

     

    변수 선언 방법 :

    자료형 변수명; // 변수 선언
    자료형 변수명 = 값; // 변수 선언 및 초기화

     

    예제 :

    int number; // 변수 선언
    int age = 25; // 변수 선언 및 초기화

     

    상수 선언 방법 :

    final 자료형 상수명 = 값; // 상수 선언 및 초기화

     

    예제 :

    final int MAX_HEIGHT = 180; // 상수 선언 및 초기화

     

     위와 같이 변수와 상수를 선언할 수 있습니다. 코드의 끝에는 꼭 ;(세미콜론)을 붙여주시길 바랍니다. 코드의 마침표 같은 역할을 하고 있습니다.

     

    2. 변수 선언 규칙

     

    1. 영문자, 숫자, _, $만 사용할 수 있습니다: 변수명은 문자(a-z, A-Z), 숫자(0-9), 밑줄(_), 달러 기호($)를 사용할 수 있습니다.
    2. 숫자로 시작할 수 없습니다: 변수명은 숫자로 시작할 수 없습니다. 예를 들어, int 1number는 잘못된 선언입니다.
    3. 공백을 포함할 수 없습니다: 변수명에 공백이 포함될 수 없습니다. 예를 들어, int my number는 잘못된 선언입니다.
    4. 대소문자를 구분합니다: 변수명은 대소문자를 구분합니다. 예를 들어, int Number와 int number는 다른 변수입니다.
    5. 예약어를 사용할 수 없습니다: 자바의 예약어는 변수명으로 사용할 수 없습니다. 예를 들어, int class는 잘못된 선언입니다.

     

    자바 예약어의 종류입니다. 이는 변수로 선언이 불가능합니다. (출처) 스마트인재개발원.

     

     

    변수명 작성 규칙

     

    • CamelCase 사용: 변수명은 첫 글자는 소문자로 시작하고, 이후 단어의 첫 글자는 대문자로 작성합니다. 예를 들어, myVariableName, userAge, accountBalance 등이 있습니다. 생김새가 꼭 낙타의 혹모양과 닮았다 하여 CamelCase입니다. 
    • 의미 있는 이름 사용: 변수명은 해당 변수의 용도나 의미를 잘 나타내도록 작성해야 합니다. 예를 들어, int count는 변수의 역할을 명확히 나타냅니다.
    • 약어 사용 자제: 너무 짧거나 이해하기 어려운 약어를 피하고, 가능한 한 풀어서 의미를 명확히 표현합니다. 예를 들어, int maxLength 대신 int maxLen 같은 약어를 자제합니다.

    예제 :

    int userAge; // 올바른 변수명
    int accountBalance; // 올바른 변수명
    int maxLength; // 올바른 변수명

     

     

     

    상수명 작성 규칙

     상수명은 일반적으로 모두 대문자로 작성하며, 단어 간 구분은 밑줄(_)을 사용합니다. 예를 들어, MAX_HEIGHT, PI_VALUE 등이 있습니다. 이는 언더바(_)가 들어 있는 게 뱀처럼 생겼다고 하여 스네이크 케이스라고 합니다.

     

    예제 :

    final int MAX_HEIGHT = 180; // 올바른 상수명
    final double PI_VALUE = 3.14159; // 올바른 상수명

     

    3. Java의 자료형과 크기

     

    Java의 자료형은 크게 두 가지로 나뉩니다: 기본 자료형(Primitive Data Types)과 참조 자료형(Reference Data Types).

    (출처) 스마트인재개발원.

     

    자료형 타입 크기 기본값
    boolean 논리형 1 bit false
    byte 정수형 8 bits 0
    char 문자형 16 bits '\u0000'
    short 정수형 16 bits 0
    int 32 bits 0
    long 64 bits 0L
    float 실수형 32 bits 0.0f
    double 64 bits 0.0d

     

     지금은 자료형의 종류에 어떤 것들이 있고, 타입이 어떤 것들이 있다 인지하는 정도로 넘어가고, 실습을 통해서 깨닫는 게 가장 빠른 것 같습니다. 

     

    4. 형변환(Casting)

     

     자동 형변환(Implicit Type Casting): 다른 말로 묵시적 형변환이라고도 합니다. 작은 자료형에서 큰 자료형으로 변환할 때 자동으로 이루어집니다. 예를 들어, int에서 long으로 변환할 때는 자동으로 형변환이 됩니다. 예가 재밌긴 하지만, 소주잔에 따라져 있는 소주를 맥주잔에 옮긴다고 보시면 됩니다.

     

     예제 :

    int num = 100;
    long bigNum = num; // 자동 형변환

     

    강제 형변환(Explicit Type Casting): 큰 자료형에서 작은 자료형으로 변환할 때는 명시적으로 형변환을 해주어야 합니다.

     

    예제 :

    long bigNum = 100L;
    int num = (int) bigNum; // 강제 형변환

     

    강제 형변환은 데이터 손실의 위험이 있으므로 주의해서 사용해야 합니다. 자동 형변환의 반대로 맥주잔에 따라져 있는 술을 소주잔으로 따르면 흘러넘치겠죠? 그렇게 생각하시면 될 것 같습니다.

     

     

     이 글에서는 Java의 변수와 상수, 선언 방법, 선언 규칙, 자료형과 크기, 그리고 형변환에 대해 알아보았습니다. 상당히 이론이 길어서 조금은 지루할 수 있습니다. 저희도 이게 한 과정이고 다음 시간부터는 적절한 문제도 함께 넣어 지루함을 덜어보겠습니다. 어느 정도 일해본 결과 이론 없이 빠른 속도로 OUTPUT을 내는 것도 중요하지만, 기초 이론이 튼튼할 때 프로그래밍이 견고해진다고 생각합니다. 긴 글 읽어주셔서 감사합니다.