
개요
자바의 정석 연습문제를 처음부터 풀어보며 모르거나 헷갈리는 기본 개념을 확실히 익히고자 한다.
연습문제를 풀이하는 것이 아닌 내가 공부하면서 중요하다고 생각하거나 잘 몰랐던 개념을 기록할것이다.
문제
[2-3] : 리터럴, 변수, 상수, 키워드의 개념
1. 리터럴 (literal) : 소스 코드 내에서 직접 입력된 값, 종류에 따라 정수, 실수, 문자, 논리 리터럴로 나뉜다.
이는 상수 (constant) 와 같은 의미지만, 상수는 한 번 저장하면 변경할 수 없는 변수로 정의하다는 점에서 구분된다.
2. 변수 (variable) : 변수는 값을 저장할 수 있는 메모리의 공간을 의미한다. 이는 프로그램 내에서 수시로 값이 변경될 수 있다. 또한 변수에는 복수 개의 값이 아닌 하나의 값만 저장할 수 있다. 변수 이름을 통해 메모리 주소에 접근한다.
3. 상수 (constant) : 리터럴로써 프로그램이 실행되었을 때 변경할 수 없는 변수를 말한다. 'final' 키워드를 사용할 수 있다.
4. 키워드 (keyword) : 프로그램 내에서 사용 가능한 예약어이다. 이는 변수명으로 사용할 수 없다. 또한 Java 는 대소문자를 구분하며, 키워드는 모두 소문자이다.
예시)
int i = 100;
long l = 100L;
final float PI = 3.14f;
- 리터럴 : 100, 100L, 3.14f
- 변수 : i, l
- 상수 : PI
- 키워드 : int, long, final, float
[2-4] 기본형 (primitive type)
모든 변수에는 타입 (type:형) 이 있으며 기본타입과 참조타입이 있다.
1. 기본 (원시 : primitive) 타입 : 정수, 실수, 문자, 논리 리터럴을 직정 저장하는 타입이다.
=> byte, char, short, int, long, float, double, boolean 이 있다.
2. 참조 (reference) 타입 : String, 배열, 클래스 등 값을 직접 저장하지 않고 클래스를 만들어 메모리 주소를 참조한다.
=> 모든 참조 타입은 4byte 이다.
따라서 'Byte' 는 기본 타입이 아니다. (대소문자를 구분한다.)
[2-5] 문자와 문자열
1. char (2byte) : 문자를 저장하며 ' ' 로 감싸진다. 작은 따옴표 안에 하나의 문자만 올 수 있다.
2. String (4byte) : 문자열을 저장하며 " " 로 감싸진다. 큰 따옴표 안에 문자열이 올 수 있다.
덧셈 연산을 할 때 문자열이 들어간다면 결과는 항상 문자열로 나온다.
그러나 int 보다 작은 byte, short, char 이 덧셈 연산을 하면 int 형으로 바뀌어 계산된다.
System.out.println('1'+'1'); // 98
System.out.println('1'+"1"); // 11
[2-8] 참조형 변수의 메모리 크기
참조형 변수는 모두 4byte 를 가지므로, 기본형 변수중엔 int, double 과 메모리 크기가 같다.
[추가로 공부할 것]
1. 데이터 타입의 범위 => Type.MAX_VALUE 또는 Type.MIN_VALUE (Type 은 참조형)
2. 변수명 조건과 올바른 변수 초기화 조건
3. 자동 형변환과 강제 형변환
4. 데이터 타입별 기본값

개요
자바의 정석 연습문제를 처음부터 풀어보며 모르거나 헷갈리는 기본 개념을 확실히 익히고자 한다.
연습문제를 풀이하는 것이 아닌 내가 공부하면서 중요하다고 생각하거나 잘 몰랐던 개념을 기록할것이다.
문제
[2-3] : 리터럴, 변수, 상수, 키워드의 개념
1. 리터럴 (literal) : 소스 코드 내에서 직접 입력된 값, 종류에 따라 정수, 실수, 문자, 논리 리터럴로 나뉜다.
이는 상수 (constant) 와 같은 의미지만, 상수는 한 번 저장하면 변경할 수 없는 변수로 정의하다는 점에서 구분된다.
2. 변수 (variable) : 변수는 값을 저장할 수 있는 메모리의 공간을 의미한다. 이는 프로그램 내에서 수시로 값이 변경될 수 있다. 또한 변수에는 복수 개의 값이 아닌 하나의 값만 저장할 수 있다. 변수 이름을 통해 메모리 주소에 접근한다.
3. 상수 (constant) : 리터럴로써 프로그램이 실행되었을 때 변경할 수 없는 변수를 말한다. 'final' 키워드를 사용할 수 있다.
4. 키워드 (keyword) : 프로그램 내에서 사용 가능한 예약어이다. 이는 변수명으로 사용할 수 없다. 또한 Java 는 대소문자를 구분하며, 키워드는 모두 소문자이다.
예시)
int i = 100;
long l = 100L;
final float PI = 3.14f;
- 리터럴 : 100, 100L, 3.14f
- 변수 : i, l
- 상수 : PI
- 키워드 : int, long, final, float
[2-4] 기본형 (primitive type)
모든 변수에는 타입 (type:형) 이 있으며 기본타입과 참조타입이 있다.
1. 기본 (원시 : primitive) 타입 : 정수, 실수, 문자, 논리 리터럴을 직정 저장하는 타입이다.
=> byte, char, short, int, long, float, double, boolean 이 있다.
2. 참조 (reference) 타입 : String, 배열, 클래스 등 값을 직접 저장하지 않고 클래스를 만들어 메모리 주소를 참조한다.
=> 모든 참조 타입은 4byte 이다.
따라서 'Byte' 는 기본 타입이 아니다. (대소문자를 구분한다.)
[2-5] 문자와 문자열
1. char (2byte) : 문자를 저장하며 ' ' 로 감싸진다. 작은 따옴표 안에 하나의 문자만 올 수 있다.
2. String (4byte) : 문자열을 저장하며 " " 로 감싸진다. 큰 따옴표 안에 문자열이 올 수 있다.
덧셈 연산을 할 때 문자열이 들어간다면 결과는 항상 문자열로 나온다.
그러나 int 보다 작은 byte, short, char 이 덧셈 연산을 하면 int 형으로 바뀌어 계산된다.
System.out.println('1'+'1'); // 98
System.out.println('1'+"1"); // 11
[2-8] 참조형 변수의 메모리 크기
참조형 변수는 모두 4byte 를 가지므로, 기본형 변수중엔 int, double 과 메모리 크기가 같다.
[추가로 공부할 것]
1. 데이터 타입의 범위 => Type.MAX_VALUE 또는 Type.MIN_VALUE (Type 은 참조형)
2. 변수명 조건과 올바른 변수 초기화 조건
3. 자동 형변환과 강제 형변환
4. 데이터 타입별 기본값