728x90
✏️ 진도: Chapter 10 ~ 11 (예외 처리 / 기본 API 클래스)
📖 기본 미션: 혼공 용어 노트에 용어 추가 등 노트 활용하고 공유하기
우리나라에서도 몇 용어들은 한국어로 번역해서 말하듯이 독일에서도 독일어로 번역해서 배우기 때문에
학교를 다니면서 각종 프로그래밍 용어들을 독일어로도 알아야 겠다는 생각이 들었다.
그래서 혼공 용어 노트는 주로 독일어 용어들을 정리하는 데 중점을 두었다.
📚 선택 미션: p. 512 문제 8번 풀고 풀이 과정 설명하기
❓문제: 100을 박싱한 Integer 객체는 true가 나오는데 300을 박싱한 Integer 객체는 false가 나오는 이유를 설명해보세요
public class IntegerCompareExample {
public static void main(String[] args) {
Integer obj1 = 100;
Integer obj2 = 100;
Integer obj3 = 300;
Integer obj4 = 300;
System.out.println(obj1 === obj2); // true
System.out.println(obj3 === obj4); // false
}
}
❗️==와 != 연산자로 값을 비교할 수 있는 범위는 int의 경우 -128~127까지이다.
그 이외의 경우에는 언박싱한 값을 얻어 비교를 해야한다.
위 코드의 경우 100을 박싱한 객체는 비교연산자로 비교할 수 있는 값의 범위이지만
300은 그 범위를 넘어가기 때문에 비교연산자로 비교할 경우 false가 나온다.
따라서 포장 객체는 내부의 값을 비교하기 위해서는 equals() 메소드를 사용하는 게 좋다.
반응형
'컴퓨터 & 코딩 > Java' 카테고리의 다른 글
[혼공학습단 10기][혼공자] 기본 API 클래스 (0) | 2023.07.13 |
---|---|
[혼공학습단 10기][혼공자] 상속 / 타입 변환과 다형성 / 추상 클래스 (0) | 2023.07.13 |
[혼공학습단 10기][혼공자] 예외 처리 (0) | 2023.07.12 |
[혼공학습단 10기][혼공자] 중첩 클래스 / 중첩 인터페이스 / 익명 객체 (0) | 2023.07.10 |
[혼공학습단 10기][혼공자] 인터페이스 (0) | 2023.07.07 |