컴퓨터 & 코딩/Java

[혼공학습단 10기][혼공자] 3주차 미션

구로그 2023. 7. 12. 21:37
728x90

✏️ 진도: Chapter 10 ~ 11 (예외 처리 / 기본  API 클래스)

1. 예외 처리

2. 기본 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() 메소드를 사용하는 게 좋다. 
 

반응형