변수
변수 타입
- 기본형 변수
- Boolean, char, byte, short, int, long, float, double ...
- 실수형 변수의 표현 범위
- float는 4byte만쓰는데 long보다 더 넓은 범위를 표현할 수 있는 이유는?
➡️ 부동소수점을 사용하기 때문에 표현할 수 있는 식이 더 많음
- 부동소수점 : 소수점의 길이가 가변적인 방식.
부호, 지수, 가수의 영역만 정해놓고 지수와 가수를 곱한 값을 저장해 long보다 훨씬 많은 수 표현 가능. - 고정소수점 : 소수점의 길이를 제한해놓는 방식
- 부동소수점 : 소수점의 길이가 가변적인 방식.
- float는 4byte만쓰는데 long보다 더 넓은 범위를 표현할 수 있는 이유는?
- 참조형 변수
- String, Object, Array, List ...
- wrapper 클래스 변수
: 기본형 변수를 클래스로 한 번 랩핑(감싸는) 변수- 기본형 변수 타입명에서 첫글자를 대문자로 바꿔서 정의
- 박싱 vs 언박싱
- 박싱 : 기본 타입에서 래퍼 클래스 변수로 변수를 감싸는 것
int number = 21; Integer num = new Integet(number); // 예전에는 이렇게 표현했지만 지금은 지원하지 않는 방식. Integer num = number; // boxing. 이제는 wrapping 하지 않아도 할당.
- 언박싱 : 래퍼 클래스 변수를 기본 타입 변수로 가져오는 것
int n = num.intValue(); // unboxing. 래퍼 클래스들은 inValue() 같은 언박싱 메서드들을 제공
- 박싱 : 기본 타입에서 래퍼 클래스 변수로 변수를 감싸는 것
- 래퍼 클래스 사용 이유 : 자바의 핵심 기능인 클래스로 변수를 관리하면 객체지향의 많은 기능들을 사용할 수 있기 때문
참조형
Stack 영역
: 정적으로 할당된 메모리 영역
- 기본형 변수 저장 (불변)
- 참조형 변수의 주소 값도 저장
Heap 영역
: 동적으로 할당된 메모리 영역
- 참조형 변수의 원본 저장 (가변)
형변환
: 변수의 타입을 바꾸는 것
- 타입별 크기 순서
byte(1) → short(2) → int(4) → long(8) → float(4) → double(8)
자동 형변환 vs 강제 형변환
자동형변환 | 강제형변환 |
|
|
'내일배움캠프(Sparta) > 자바 문법 종합' 카테고리의 다른 글
[Java] 연산자 / 배열 / 컬렉션 (0) | 2023.10.25 |
---|---|
[Java] 개발언어 (Java) (0) | 2023.10.19 |