1. 변수
변수는 말 그대로 변하는 수입니다. 프로그래밍할 때 처음에 사용한 값과 다르게 변하는 값들을 변수라고 합니다. 그러면 자바에서는 어떻게 선언할까요? 컴퓨터에 게임 레벨값을 저장한다고 하면 그 값을 저장할 공간이 필요합니다. 이 공간의 이름을 변수라고 합니다. 변수를 사용하려면 어떤 형태의 자료를 저장할 것인지 정해야 합니다. 정수 형태를 사용해서 사람의 나이를 저장하거나 문자 형태를 사용해서 사람의 이름을 저장하는 것처럼 말이죠. 이러한 형태를 변수의 자료형이라고 합니다. 변수의 자료형과 함께 변수의 이름과 같이 정해주어야 합니다. <String name;> 이렇게 말이죠. 여기서 String은 자료형이고 name은 변수 이름을 나타냅니다. 또한 <name = "홍길동";> 이렇게 선언을 해주면 name이라는 변수에 홍길동이라는 값을 대입해 주는 것이 되겠죠. 이렇게 선언한 변수에 값을 넣을 수도 있고 변수의 이름을 사용하여 그 값을 가져올 수도 있습니다.
이처 변수를 먼저 선언한 후에 값을 대입할 수도 있지만 처음부터 변수를 선언하는 동시에 값을 넣어줄 수도 있습니다. <String name = "홍길동";> 이렇게 선언을 해주면 name이라는 변수를 선언함과 동시에 값 홍길동을 넣어주어 초깃값을 설정할 수도 있습니다. 반드시 변수를 선언할 때 초깃값을 지정해 주어야 하는 것은 아닙니다. 위에서 보이듯 변수 선언과 동시에 초깃값을 지정할 수도 있고, 변수를 먼저 선언해 주고 이후 대입하는 값들이 정해지는 시점에 값을 넣어주어도 괜찮습니다.
변수의 이름을 정하는 방법은 용도에 맞게 지으면 됩니다. 다만 몇 가지 제약 사항이 있습니다. 변수 이름은 숫자나 영문자(대문자, 소문자)를 사용하고 특수 문자 중에는 $와 _만 사용이 가능합니다. 또한 변수는 숫자로 시작할 수 없습니다. 예를 들어 1time 이렇게 숫자로 시작하는 변수 이름은 선언할 수 없습니다. 마지막으로 이미 사용 중인 이름은 사용할 수 없습니다. 변수의 이름은 프로그램에서 계속 사용하기 때문에 그 목적에 맞게 의미를 잘 부여해서 만들어야 합니다. 길이에 제한이 없기 때문에 줄여서 쓰는 것보다는 의미를 풀어서 쓰는 것이 이해하는 데 도움이 됩니다.
2. 자료형
자바에서 자료형은 기본 자료형과 참조 자료형이 있습니다. 기본 자료형은 자바 라이브러리에서 기본적으로 제공하는 것이며 메모리를 얼마만큼 어떻게 사용할 것인지 정해져 있습니다. 자바에서 제공하는 기본 자료형은 다음과 같습니다.
정수형은 byte(1바이트), short(2바이트), int(4바이트), long(8바이트) 이렇게 있으며 문자형은 char(2바이트), 실수형은 float(4바이트), double(8바이트) 있으며 논리형은 boolean(1바이트)이 있습니다.
정수 자료형이란 양수, 음수, 0을 나타낼 때 사용하는 자료형입니다. 위에서 보면 정수는 byte 형, short 형, int 형, long 형 4가지 자료형으로 나타낼 수 있는데 각 자료형은 메모리에서 사용하는 용도와 바이트 수가 다릅니다. 1바이트는 8비트입니다. byte 형은 바이트 단위의 정보를 저장할 때 주로 사용이 됩니다. 예를 들어 음악을 듣거나 동영상을 재생할 때 사용이 됩니다. byte 형으로 표현할 수 있는 수의 범위는 -128~127이고 이 범위를 초과하게 되면 오류가 납니다. short 형은 2바이트로 정수를 표현합니다. 범위는 -32,768~32,767입니다. byte 형과 같이 범위를 넘어서는 값은 오류로 표시가 됩니다. int 형의 유효 범위는 -2,147,483,648~2,147483,647로 큰 범위의 정수를 나타낼 수 있으며 정수를 표현할 때 가장 많이 사용됩니다. int 형을 가장 많이 사용하는 이유는 컴퓨터에서 정수로 연산을 할 때 4바이트 단위로 처리하는 것이 효율이 높기 때문입니다. long 형은 정수를 표현할 때 가장 큰 단위의 자료형입니다. 유효 범위는 -2^63~2^63-1이며 int 형의 범위를 넘어설 때 많이 사용합니다.
그렇다면 0과 1로만 표현할 수 있는 컴퓨터에서 문자 자료형은 어떻게 나타낼까요? 어떤 문자를 컴퓨터 내부에서 표현하기 위해 문자를 특정 정숫값으로 정하자고 약속했습니다. 알파벳 A를 정해진 값으로 변환하는 것은 '문자 인코딩'이라고 하고 반대로 그 값을 다시 문자로 변환하는 것을 '문자 디코딩'이라고 합니다.
아스키(ASCII)코드는 가장 기본이 되는 문자 인코딩입니다. 아스키코드는 숫자, 영문자, 특수 문자 등을 어떤 값으로 표현할지 정해진 코드입니다. 영문자는 대문자, 소문자, 특수 문자를 1바이트만 사용합니다. 하지만 한글 등 다른 언어 문자는 복잡하기 때문에 2바이트 이상 사용하게 됩니다.
실수 자료형은 float 형과 double 형이 있습니다. float 형은 부호 1비트, 지수부 8비트, 가수부 23비트로 총 32비트(4바이트)를 사용하고 double 형은 부호 1비트, 지수부 11비트, 가수부 52비트로 총 64비트(8바이트)를 사용합니다. 자바에서 실수는 기본으로 double 형을 사용합니다. 이유는 float 형(4바이트)보다 double 형(8바이트)이 더 정밀하게 실수를 표현할 수 있기 때문입니다. float 형은 숫자 뒤에 F나 f를 붙여서 식별해 주어야 합니다.
논리 자료형은 어떤 변수의 참, 거짓을 나타낼 때 사용합니다. boolean 형으로 수행이 잘 되었는지 여부, 값이 있는지 여부 등을 참, 거짓으로 나타낼 수 있습니다. boolean 형은 <boolean isMarried;> 이렇게 선언합니다. boolean 형 변수는 1바이트로 값을 저장하며 true(참), false(거짓)로 두 가지 값만 가집니다.
'Java' 카테고리의 다른 글
배열 ArrayList (0) | 2025.02.06 |
---|---|
클래스 메서드 접근 제어자 (0) | 2025.02.06 |
조건문과 반복문 (0) | 2025.02.04 |
기본 연산자와 비트 연산자 (0) | 2025.02.03 |