본문 바로가기
☁️ 구름 X kakao DeepDive/☁️ Java

[Java] 자바의 자료형과 변수, 상수(final)에 대해 알아보자

by 뽀짜꼬 2025. 1. 15.
728x90
반응형

 

1. 자료형 Data Type

컴퓨터는 0과 1로 구동한다.

→ 한정된 메모리 안에서 용량을 초과하지 않고

많은 데이터를 처리하기 위해서는 적절하게 메모리 공간을 할당해야한다.

 

메모리할당

  • Boolean
    • 0과 1이므로 한칸의 비트로 두 값을 모두 표현 가능하다.
  • 가위바위보 
    • 만약 가위바위보가 있다면, 메모리 할당을 어떻게 해야할까
    • 가위바위보 = 3가지. 3은 2의 1승보다는 크고, 2의 2승보다는 작으므로

00 01 11 → 비트 두개로 표현이 가능하다

  • 월화수목금토일
    • 만약 월화수목금토일이 있다면
    • 7은 2의 2승보단 크고, 2의 3승보단 작으므로
    • 비트 세개로 표현이 가능하다.

⇒ 즉, 자료형으로 몇 비트의 메모리를 할당할지 정하는것이다!

 

그렇다면, 자바는 왜 변수에 자료형을 다 적어야할까?

출처 - 얄코 유튜브 캡쳐

 

자바스크립트나 파이썬은 앞에 변수형을 적는것 없이 바로 값을 넣을 수 있는데.

(좀 자유로운 느낌)

출처 - 얄코 유튜브 캡쳐

 

예외들이 있지만 보통 컴파일 언어들은 정적 타입,

인터프리터언어들은 동적타입의 자료형을 가지고있다.

 

→ 왜? 이런 타입을 가지고있어?

컴파일 언어는 개발 과정에서 컴파일을 하기때문에 오류를 발생시켜서 잘못된걸 걸러낼 수 있다.

⇒ 그래서 정적타이핑에 유리하기 때문이다.

+) 💡 자바스크립트는 이런거에 취약하기 때문에
 자료형에 의한 오류를 방지 하기 위해 타입스크립트가 생긴것이다.

2. 변수

: 데이터를 담는 주머니, 상자라고 생각하면 된다.

 

= : 대입(할당) 연산자 assignment operator

: 왼쪽의 주머니에 오른쪽의 값을 할당해준다. (넣는다.)

값을 넣어주는것을 초기화라고 한다.

//  변수의 선언과 초기화를 동시에 하는 예시
int age = 20;

 

변수는 자유롭게 값 변경이 가능하다.

다만, 주머니와 자료형이 다른 데이터는 넣을 수 없다.

age = 22 는 가능하지만

age = false 는 안된다는 얘기이다.

// 쉼표를 사용하여 여러개의 변수를 한 줄에 선언 및 초기화할 수 있다.
 char ch1, ch2, ch3;
 char ch4 = 'A', ch5 = 'B', ch6 = 'C';

3. 상수

: final 연산자 를 이용해 변수의 값을 바꾸지 못하게 한다.

엄밀히 자바의 final은 ‘상수’보다는

‘한 번만 값을 넣을 수 있는 주머니’로 보는 것이 정확할수있다.

final int INT_NUM = 1;
INT_NUM = 2; // ⚠️ 불가

 

final 여기 있는 값이 너의 마지막 값이다. 이런 느낌이다.

 

일반적으로 이런 상수 이름은 대문자로 작성하는게 국룰이다.

(소문자로 한다고 해서 오류는 나지 않지만 대문자로 해야 한눈에 알아볼 수 있다.)

 

728x90
반응형