
1️⃣ Variable & Data Type
Java 이외에도 어떤 언어를 배울 때 가장 먼저 변수와 자료형에 대해 공부할 것이다.
오늘은 변수와 자료형에 대해 공부했다.
변수 (variable) 란 값을 저장할 수 있는 메모리 공간 을 의미한다.
변수는 프로그램에 의해 값이 변동될 수 있다. 또한 하나의 값만 저장할 수 있다.
변수에는 한 가지의 자료형으로 저장 가능하다. 예를 들어 정수형은 정수형, 실수형은 실수형으로 말이다.
변수의 선언은 다음과 같다.
1. 기본 - 타입 변수 이름;
2. 초기화시 - 타입 변수 이름 = 값;
ex)
- int num;
- double num2;
- String s;
- int num=10;
- String s="Hello World";
2️⃣ Data Type
자료형은 프로그래밍 언어에 있어서 굉장히 중요한 개념이다.
모든 변수에는 타입(자료형) 이 있으며, 자료형에 따라 저장하는 값의 종류와 범위가 달라진다.
1. 기본 (원시: primitive) 타입 : byte, char, short, int, long, float, double, boolean
가장 많이 쓰이고 기본이 되는 자료형들이다.
- 정수형 : byte, char, short, int, long
- 실수형 : float, double
- 논리형 : boolean
다음은 각 타입의 메모리 크기와 저장할수 있는 값의 범위이다.

메모리의 최소 기억 단위는 '비트(bit)' 이다. 이는 0과 1만 저장할 수 있다.
또한 1 byte = 8 bit 이다.
각 자료형별로 표현 범위를 정확하게 외울 필요는 없지만, 알고리즘 문제를 풀거나 효율적인 코드를
작성 할 때 알아두면 좋으니 범위를 어느정도 알아두면 좋다.
즉 메모리 크기로만 보면 byte < short < int = float < long = double 이 되겠다.
* 정수형을 바이트 단위로 만들어주는 함수 : toBinaryString()
이는 정수형 값을 바이트 단위, 즉 2진수로 표현해주는 함수이다. 알아두면 좋다.
만약 문자열 (숫자로만 구성되어야 함)을 바꾼다면 Integer.parseInt(toBinaryString()) 을 사용하자.
3️⃣ 타입 변환 (형변환)
타입 변환이란 데이터 타입을 다른 데이터 타입으로 변환하는 것을 말한다.
처음에 변수의 데이터 타입은 변할 수 없다고 하였으나, 프로그램의 사용에 따라 자동 혹은 강제로 바꿀 수 있다.
예를 들어 byte 타입을 int 타입으로, double 타입을 int 타입으로 바꾸는 것을 말한다.
1. 자동 타입 변환
자동 타입 변환은 명령어를 직접 입력하지 않아도 프로그램이 자동적으로 타입을 변환해주는 것을 말한다.
이는 작은 크기의 타입이 큰 크기의 타입에 저장될 때 사용된다.
* 여기서 말하는 크기는 사용하는 메모리의 크기이다. 예를 들어 short < int < double
즉, 큰 크기 타입 = 작은 크기 타입 일 때 작은 크기 타입
한 예로 int 형 변수 = byte 형 변수 가 있다.
int 의 메모리 크기는 4byte = 32bit, byte 의 메모리 크기는 1byte = 8bit 이다.
자동 타입 변환이 일어나면 변환 이전 값과 이후 값은 동일하다.
단지 32 bit 중 뒤의 8 bit 값만 같아지며, 나머지는 모두 0으로 채워진다.
쉽게 생각하면 작은 그릇의 음식은 모두 큰 그릇으로 담을 수 있다.
큰 그릇에 담긴 후에도 음식은 변하지 않는다.
2. 강제 타입 변환
이는 자동 타입 변환과 반대 되는 개념이다.
작은 크기의 타입은 큰 크기의 타입으로 변환될 수 있다고 하였다. (자동 타입 변환)
그러나 큰 크기의 타입은 작은 크기의 타입이 될 수 없기 때문에, 강제로 타입 변환을 해주는 것이다.
예를 들어 큰 크기인 double 타입을 상대적으로 작은 크기인 int 타입으로 변환하려고 한다면,
double 의 메모리 영역이 더 크기 때문에 담길 수 없다.
이럴 때 double 타입의 변수 앞에 (int) 를 붙여줌으로써 강제로 타입 변환을 할 수 있다.
자동 타입 변환에서와는 반대로 32 bit 인 int 타입을 8 bit 인 byte 타입으로 변환한다고 하자.
int 의 32 bit 는 모두 8 bit 에 담을 수 없기 때문에, 32 bit 중 끝의 8 bit 만 byte 에 담긴다.
따라서 1byte 내로 표현 가능한 int 타입의 변수라면, 값이 보존될 수 있다.
그러나 1byte 를 넘어간다면, 데이터가 유실되면서 변수 값이 변할 수 있다.
또한 실수형 변수를 정수형 변수로 변환해야할 때 강제 타입 변환이 사용될 수 있다.
이럴 땐 실수형 변수 앞에 (int) 를 붙이면 되는데, 이 때 소수점 이하 부분은 버려지고 정수 부분만 저장된다.
예를 들어 double pi = 3.14 일 때, 이를 int 형으로 바꾼다면
int pi_int = (int) pi; 이고, 결국 pi_int 에는 정수인 3만 저장되는 것이다.
4️⃣ 자료형 최대, 최소값 구하기
다음은 각 자료형의 최대값, 최소값을 구하는 방법이다.
Data Type | MAX | MIN |
byte | Byte.MAX_VALUE | Byte.MIN_VALUE |
short | Short.MAX_VALUE | Short.MIN_VALUE |
int | Integer.MAX_VALUE | Integer.MIN_VALUE |
long | Long.MAX_VALUE | Long.MIN_VALUE |
float | Float.MAX_VALUE | Float.MIN_VALUE |
double | Double.MAX_VALUE | Double.MIN_VALUE |
* Int 의 경우 Int 대신 'Integer' 을 붙이는 것만 주의하자.

1️⃣ Variable & Data Type
Java 이외에도 어떤 언어를 배울 때 가장 먼저 변수와 자료형에 대해 공부할 것이다.
오늘은 변수와 자료형에 대해 공부했다.
변수 (variable) 란 값을 저장할 수 있는 메모리 공간 을 의미한다.
변수는 프로그램에 의해 값이 변동될 수 있다. 또한 하나의 값만 저장할 수 있다.
변수에는 한 가지의 자료형으로 저장 가능하다. 예를 들어 정수형은 정수형, 실수형은 실수형으로 말이다.
변수의 선언은 다음과 같다.
1. 기본 - 타입 변수 이름;
2. 초기화시 - 타입 변수 이름 = 값;
ex)
- int num;
- double num2;
- String s;
- int num=10;
- String s="Hello World";
2️⃣ Data Type
자료형은 프로그래밍 언어에 있어서 굉장히 중요한 개념이다.
모든 변수에는 타입(자료형) 이 있으며, 자료형에 따라 저장하는 값의 종류와 범위가 달라진다.
1. 기본 (원시: primitive) 타입 : byte, char, short, int, long, float, double, boolean
가장 많이 쓰이고 기본이 되는 자료형들이다.
- 정수형 : byte, char, short, int, long
- 실수형 : float, double
- 논리형 : boolean
다음은 각 타입의 메모리 크기와 저장할수 있는 값의 범위이다.

메모리의 최소 기억 단위는 '비트(bit)' 이다. 이는 0과 1만 저장할 수 있다.
또한 1 byte = 8 bit 이다.
각 자료형별로 표현 범위를 정확하게 외울 필요는 없지만, 알고리즘 문제를 풀거나 효율적인 코드를
작성 할 때 알아두면 좋으니 범위를 어느정도 알아두면 좋다.
즉 메모리 크기로만 보면 byte < short < int = float < long = double 이 되겠다.
* 정수형을 바이트 단위로 만들어주는 함수 : toBinaryString()
이는 정수형 값을 바이트 단위, 즉 2진수로 표현해주는 함수이다. 알아두면 좋다.
만약 문자열 (숫자로만 구성되어야 함)을 바꾼다면 Integer.parseInt(toBinaryString()) 을 사용하자.
3️⃣ 타입 변환 (형변환)
타입 변환이란 데이터 타입을 다른 데이터 타입으로 변환하는 것을 말한다.
처음에 변수의 데이터 타입은 변할 수 없다고 하였으나, 프로그램의 사용에 따라 자동 혹은 강제로 바꿀 수 있다.
예를 들어 byte 타입을 int 타입으로, double 타입을 int 타입으로 바꾸는 것을 말한다.
1. 자동 타입 변환
자동 타입 변환은 명령어를 직접 입력하지 않아도 프로그램이 자동적으로 타입을 변환해주는 것을 말한다.
이는 작은 크기의 타입이 큰 크기의 타입에 저장될 때 사용된다.
* 여기서 말하는 크기는 사용하는 메모리의 크기이다. 예를 들어 short < int < double
즉, 큰 크기 타입 = 작은 크기 타입 일 때 작은 크기 타입
한 예로 int 형 변수 = byte 형 변수 가 있다.
int 의 메모리 크기는 4byte = 32bit, byte 의 메모리 크기는 1byte = 8bit 이다.
자동 타입 변환이 일어나면 변환 이전 값과 이후 값은 동일하다.
단지 32 bit 중 뒤의 8 bit 값만 같아지며, 나머지는 모두 0으로 채워진다.
쉽게 생각하면 작은 그릇의 음식은 모두 큰 그릇으로 담을 수 있다.
큰 그릇에 담긴 후에도 음식은 변하지 않는다.
2. 강제 타입 변환
이는 자동 타입 변환과 반대 되는 개념이다.
작은 크기의 타입은 큰 크기의 타입으로 변환될 수 있다고 하였다. (자동 타입 변환)
그러나 큰 크기의 타입은 작은 크기의 타입이 될 수 없기 때문에, 강제로 타입 변환을 해주는 것이다.
예를 들어 큰 크기인 double 타입을 상대적으로 작은 크기인 int 타입으로 변환하려고 한다면,
double 의 메모리 영역이 더 크기 때문에 담길 수 없다.
이럴 때 double 타입의 변수 앞에 (int) 를 붙여줌으로써 강제로 타입 변환을 할 수 있다.
자동 타입 변환에서와는 반대로 32 bit 인 int 타입을 8 bit 인 byte 타입으로 변환한다고 하자.
int 의 32 bit 는 모두 8 bit 에 담을 수 없기 때문에, 32 bit 중 끝의 8 bit 만 byte 에 담긴다.
따라서 1byte 내로 표현 가능한 int 타입의 변수라면, 값이 보존될 수 있다.
그러나 1byte 를 넘어간다면, 데이터가 유실되면서 변수 값이 변할 수 있다.
또한 실수형 변수를 정수형 변수로 변환해야할 때 강제 타입 변환이 사용될 수 있다.
이럴 땐 실수형 변수 앞에 (int) 를 붙이면 되는데, 이 때 소수점 이하 부분은 버려지고 정수 부분만 저장된다.
예를 들어 double pi = 3.14 일 때, 이를 int 형으로 바꾼다면
int pi_int = (int) pi; 이고, 결국 pi_int 에는 정수인 3만 저장되는 것이다.
4️⃣ 자료형 최대, 최소값 구하기
다음은 각 자료형의 최대값, 최소값을 구하는 방법이다.
Data Type | MAX | MIN |
byte | Byte.MAX_VALUE | Byte.MIN_VALUE |
short | Short.MAX_VALUE | Short.MIN_VALUE |
int | Integer.MAX_VALUE | Integer.MIN_VALUE |
long | Long.MAX_VALUE | Long.MIN_VALUE |
float | Float.MAX_VALUE | Float.MIN_VALUE |
double | Double.MAX_VALUE | Double.MIN_VALUE |
* Int 의 경우 Int 대신 'Integer' 을 붙이는 것만 주의하자.