글
[3주차 선택미션] 포장 값 비교
JAVA/[학습단] #혼공자
2019. 10. 24. 13:49
안녕하세요🙂
3주차 선택미션은 기본 API 클래스 중 Wrapper 클래스의 포장 값 비교 개념을 이용한 마무리 문제 풀어보기였어요 .
( P.512 #8번 )
해당 문제를 풀기위해 필요했던 개념은
👉🏻1. Wrapper클래스의 자동박싱
👉🏻2. Wrapper클래스의 포장 값 비교
입니다.
👉🏻1. 자동박싱 : 주석과 같이 기본 타입에 대응되는 클래스에 기본 타입의 값을 대입하면 발생합니다.
📍기본 타입에 대응 되는 클래스(포장클래스)란 ?
기본 타입의 첫문자를 대문자로 바꾼 이름을 가지고 있고 다음과 같아요!
기본타입 | 포장 클래스 |
byte | Byte |
char | Character |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
boolean | Boolean |
👉🏻2. 포장 값 비교
이 원리로 인해 == 연산자를 이용한 포장 객체의 내부 값을 비교한 결과가 서로 다른 건데요
사실 ==, != 연산자는 포장객체 내부에 저장된 값이 정확히 어떤 값인지 알지 못할 때는 쓰지 않는 것이 좋다고 해요.
📍==, != 연산자는
박싱된 값이 타입의 값의 범위 내에 존재 한다면 ➜ 값을 비교
그렇지 않으면 ➜ 포장 객체의 참조를 비교합니다.
100이란 값은 Integer로 자동박싱 된 int 타입인 100인데
int 타입의 값의 범위는 -128 ~ (100) 127 이라서 == 연산자로 값비교가 가능했지만
300은 값의 범위를 초과 하기때문에 객체의 참조 비교가 발생했고 그래서 false라는 값이 리턴 되었습니다!
3주차 선택미션 끝! 🙋🏻♀️
➕교재를 가지고 정리해본 내용입니다~ 필요하신 분들이 있다면 많이 참고해주세요 🙂
'JAVA > [학습단] #혼공자' 카테고리의 다른 글
[4주차 선택미션] 멀티스레드 생성 (0) | 2019.10.29 |
---|---|
[3주차 기본미션] 혼공노트 활용샷 인증하기 (0) | 2019.10.24 |
[2주차 기본미션] 상속 개념 정리를 위한 마무리문제 풀기 (0) | 2019.10.16 |
[2주차 선택미션] 객체지향 프로그래밍 개념정리 (0) | 2019.10.15 |
[1주차 기본미션] MacOS에서 JDK 설치 및 버전 확인하기 (0) | 2019.10.10 |