▼기본형 변수
- 논리형 변수 : boolean
- True/False 값만 저장한다.
ex)
boolean flag = true; // 1. 논리형 변수 boolean 으로 선언 및 True 값으로 초기화
flag = false; // 2. False 값으로도 저장할 수 있다.
- 문자형 변수 : char
- ‘A’, ‘1’ 와 같은 문자 하나만 저장한다.
ex)
char alphabet = 'A'; // 문자 하나를 저장한다.
- 정수형 변수 : byte, short, int, long
1. 0,1,2,99 와 같은 정수형 숫자값을 저장한다.
2.정수형 변수 표현 범위 : 각 변수 표현 범위를 넘는 숫자를 넣게되면 오버플로우가 발생하고, 해당 숫자를 출력해보면 입력값과 다른 값으로 표현된다.
- byte : -128 ~ 127 범위의 숫자만 저장 가능하다.
- short (2byte) 는 -32,768~32,767 범위의 숫자만 저장 가능하다.
- int (4byte) 는 -21억~21억 범위의 숫자만 저장 가능하다.
- long (8byte) 은 9백경 정도의 매우 큰수를 저장 가능하다.
ex)
byte byteNumber = 127; // byte 는 -128 ~ 127 범위의 숫자만 저장 가능하다
short shortNumber = 32767; // short 는 -32,768~32,767 범위의 숫자만 저장 가능하다.
int intNumber = 2147483647; // int 는 -21억~21억 범위의 숫자만 저장 가능하다.
long longNumber = 2147483647L; // long 은 숫자뒤에 알파벳 L 을 붙여서 표기하며 매우 큰수를 저장 가능하다.
//정수형 리터럴 구분값(리터럴 = 데이터값)
//int 와 long 의 데이터값(리터럴)을 구분하기 위한 구분자로 long으로 담을 숫자뒤에 "L"을 붙인다.
// 이런식으로 데이터값(리터럴) 뒤에 붙이는 구분값을 “접미사”라고 부른다.
- 실수형 변수 : float, double
1. 0.123, 0.99999 와 같은 소수점 실수값을 저장한다.
2. 실수형 변수의 표현 범위 : 실수도 동일하게 각 변수 표현 범위를 넘는 숫자를 넣게되면 오버플로우가 발생하고, 해당 숫자를 출력해보면 입력값과 다른 값으로 표현된다.
- float (4byte) : 3.4 * -10^38 ~ 3.4 * 10^38(long 보다 큼)범위의 숫자 저장이 가능하다.
- double (8byte) : 1.7 * -10^308 ~ 1.7 * 10^308(long 보다 큼)범위의 숫자 저장이 가능하다.
float 는 4byte 만쓰는데 어떻게 long 보다 더 넓은 범위를 표현가능한가?
float 라는 단어의 뜻은 “부동” 이라는 의미를 가지고 있으며 소수점이 움직인다는 의미의 “부동 소수점 방식”으로 숫자를 저장한다.
- 부동 소수점 방식 : 가수와 지수를 구분해서 저장하고 이값들을 곱한 값을 저장(표현)하는 방식
ex)
long longNumber = 3.14f; // long < float 자동 형변환 불가
float floatNumber = 0.123f; // float 는 4byte 로 3.4 * 10^38 범위를 표현하는 실수값
double doubleNumber = 0.123123123; // double 은 8byte 로 1.7 * 10^308 범위를 표현하는 실수값
//실수형 리터럴 구분값(리터럴 = 데이터값)
//float 와 double 의 데이터값(리터럴)을 구분하기 위한 구분자로 float 으로 담을 숫자뒤에 "f"을 붙인다.
// 이런식으로 데이터값(리터럴) 뒤에 붙이는 구분값을 “접미사”라고 부른다.
▼ 참조형 변수
- 문자열 : String
- 1. “Apple”, “텍스트” 와 같은 문장을 저장한다.
ex) String message = "Hello World"; // 문자열을 저장한다.
그 외 : Object, Array, List …
- 객체, 배열, 리스트와 같은 단일 저장공간에 담을 수 없는 값을 저장한다.
ex) List<int> alphabet = [0,1,2,3]; // 기본형 변수 여러개를 저장한다.
▼ 래퍼 클래스 변수- 래퍼 클래스(Wrapper Class) 라는 말 그대로 “기본형 변수를 클래스로 한번 랩핑(감싸는) 변수"
- 기본형 변수 타입명에서 첫글자를 대문자로 바꾸어서 래퍼 클래스를 정의해주었습니다.
-박싱 vs 언 박싱
- 기본 타입에서 래퍼 클래스 변수로 변수를 감싸는 것을 “박싱” 이라고 부르며
- 래퍼 클래스 변수를 기본 타입 변수로 가져오는 것을 “언박싱”이라고 부른다.
왜, 굳이 래퍼 클래스를 사용하는 건가?
- 클래스는 객체지향 언어인 Java 의 핵심기능이다. 그렇기 때문에 클래스로 변수를 관리하면 객체지향의 많은 기능을 사용할 수 있게된다!!
'JAVA공부' 카테고리의 다른 글
숫자와 문자 (0) | 2023.10.12 |
---|---|
기본형 참조형변수타입 및 래퍼클래스타입 실습 (0) | 2023.10.12 |
변수와 상수 (0) | 2023.10.12 |
주석 및 println 메서드 소개 및 실습 (0) | 2023.10.12 |
Java 개발환경 구성 (0) | 2023.10.12 |