📚 JAVA 변수와 자료형 총정리
목차
- JAVA 변수와 자료형 기본 개념
- 유니코드와 자료형의 크기 및 범위
- JAVA 변수와 자료형 이해하기
- 자바 문자열과 형 변환
- 강제 형 변환과 데이터 손실 주의점
JAVA란?
JAVA는 객체 지향 프로그래밍 언어로, 현실 세계의 사물이나 개념을 프로그램으로 쉽게 표현할 수 있습니다.
다양한 운영체제에서 실행 가능하며, 웹, 모바일 앱, 기업용 소프트웨어 등에서 널리 사용됩니다.
변수란?
변수는 데이터를 저장하는 메모리 공간입니다. 마치 컵에 물을 담듯이, 숫자, 문자, 참/거짓 등의 데이터를 저장할 수 있습니다.
변수 이름은 컵의 이름처럼, 데이터를 꺼내거나 바꿀 때 사용합니다.
자료형이란?
자료형은 변수에 저장할 데이터의 종류를 나타냅니다.
예를 들어, int는 정수, String은 문자열을 저장합니다.
자료형은 메모리 크기와 가능한 연산 유형을 결정합니다.
1. JAVA 변수와 자료형 기본 개념
1.1 상수와 변수
- 상수는 변하지 않는 값을 저장합니다.
- 변수는 값이 상황에 따라 변할 수 있습니다.
- 자료형은 데이터 크기와 형태를 규정하는 약속입니다.
1.2 변수 선언 규칙
- 영어 대소문자를 구분합니다. (
NICK≠nick) - 공백, 특수문자는 사용할 수 없습니다.
- 숫자는 첫 글자로 사용할 수 없고, 글자 수는 제한 없습니다.
- 자바 예약어는 변수명으로 쓸 수 없습니다.
$,_는 변수명 첫 글자로 사용 가능합니다.
1.3 예약어와 식별자
예약어는 자바가 미리 정한 단어로 변수명으로 쓸 수 없습니다.
식별자는 사용자 정의 이름입니다.
예) boolean, byte, char, short, int, long, float, double 등
2. 유니코드와 자료형 크기 및 범위
2.1 자료형과 유니코드
- 문자는 모두 유니코드로 처리됩니다.
- 유니코드는 전 세계 문자를 숫자로 표현하는 국제 표준입니다.
2.2 자료형별 크기 및 범위
| 자료형 | 크기 (byte) | 값의 범위 |
|---|---|---|
| byte | 1 | -128 ~ 127 |
| short | 2 | -32,768 ~ 32,767 |
| char | 2 | 0 ~ 65,535 (유니코드) |
| int | 4 | -2,147,483,648 ~ 2,147,483,647 |
| long | 8 | -9경 ~ 9경 (매우 큼) |
2.3 아스키 코드와 한글
- 0~127은 아스키(ASCII) 문자: 영어 알파벳, 숫자, 특수기호
- 한글은 유니코드 44032 ~ 55203 범위에 포함됩니다.
3. JAVA 변수와 자료형 이해하기
3.1 실수형 (float, double)
double은 기본 실수 타입입니다.float는 실수 뒤에F또는f를 붙여야 합니다.- 예:
float f = 3.14F;(붙이지 않으면 컴파일 오류 발생)
3.2 boolean 타입
boolean은true또는false값을 가집니다.- 조건문, 제어문에서 흐름 제어에 사용됩니다.
3.3 참조 타입 (Reference Type)
- 기본 타입을 제외한 모든 데이터 타입은 참조 타입입니다.
- 참조 타입 변수는 메모리 주소를 저장합니다.
null값을 가질 수도 있습니다.
4. 자바 문자열과 형 변환
4.1 문자열 (String)
자바의 문자열은 String 클래스의 인스턴스입니다.
주요 메서드:
length()— 문자열 길이 반환charAt(int index)— 특정 위치 문자 반환equals(Object obj)— 문자열 내용 비교substring(int start, int end)— 부분 문자열 추출concat(String str)— 문자열 연결trim()— 앞뒤 공백 제거toUpperCase(),toLowerCase()— 대소문자 변환replace(char oldChar, char newChar)— 문자 치환
4.2 형 변환(Casting)
- 자동 형 변환: 작은 자료형이 큰 자료형에 저장될 때 자동 변환됨
- 예:
byte b = 10; int i = b; - 강제 형 변환: 큰 자료형을 작은 자료형으로 변환할 때 사용
- 예:
int i = 130; byte b = (byte) i;→ 데이터 손실 가능
5. JAVA 강제 형 변환과 데이터 손실
5.1 캐스팅 시 데이터 손실
큰 타입을 작은 타입으로 변환할 때는 반드시 캐스팅 연산자 ()를 사용합니다.
하지만 이 과정에서 데이터 손실이나 오버플로우가 발생할 수 있으므로 주의해야 합니다.
5.2 예: byte 타입 오버플로우
int i = 130;
byte b = (byte) i; // 결과는 -126 (130 - 256)
byte 타입은 -128 ~ 127 범위를 넘으면 값이 반대로 순환하여 저장됩니다.
마무리
처음 프로그래밍을 배울 때 변수 선언은 쉽지만, 자료형의 크기와 범위, 형 변환에 대한 깊은 이해가 중요합니다.
자동 및 강제 형 변환의 차이, 오버플로우와 데이터 손실 문제에 특히 주의해야 합니다.
또한, String 클래스의 다양한 메서드를 활용하면 효율적인 문자열 처리가 가능합니다.
이론과 함께 직접 코드를 작성하며 경험을 쌓는 것이 가장 좋은 학습 방법입니다.