혼공단 3주차 - 절반의 성공
조금씩 주차를 채워가고 있다
단순히 주차만 채워가는것은 아무런 의미가 없을 수 있지만
혼공단에 기대어 책을 조금씩 읽어보는 재미는 쏠쏠하다
지난주에는 중요하고도 방대했던 객체지향에 대한 이야기가 나왔다면,
이번주는 개발자의 촘촘함을 채워줄 수 있는 파트였던거 같다
예외처리는 개발에 있어서는 매우매우 중요한 부분이라고 할 수 있다.
신규개발을 할때도 엄청나게 중요하긴 하지만, 특히 운영하고 있는 소스에
새로운 부분을 추가한다면, 이 예외처리도 매우 중요하다.
쉽게 말하면,
잘 실행되고 있는 프로그램에
아주 사소한 한 부분을 추가했는데, 이 부분이 잘못되어 전체 오류가 발생하는 경우가 많았다
생각해보면 아찔한 순간들이 많았던거 같은데
예외처리만 잘해주어도 이런 문제를 많이 보완할 수 있다
이 부분은 작은 예시를 하나 붙여보면 더욱 좋을거 같다!
3주차 기본미션 - 혼공 용어 노트에 용어 추가 등 노트 활용하고 공유하기
혼공 용어 노트는 각 파트에 중요한 용어들을 모아 요약 설명하고 있는 노트이다
사실 책이 굉장히 무거워서 항상 들고다니기 불편한데,
한번 공부할때, 이 용어 노트에 조금 정리를 더해서 가지고 다니면 한번씩 보기가 좋을거 같다
3주차 선택미션 - p. 512 문제 8번 풀고 풀이 과정 설명하기
박싱된 Integer 객체를 == 연산자로 비교했을때,
100을 박싱한 Integer 객체는 true인데
300을 박싱한 Integer 객체는 false가 나오는 이유를 설명하라
이 문제는 Wrapper클래스에 관한 것이다.
자동 박싱된 상황이라고 볼 수 있는데, obj3와 obj4의 결과도 true가 나오게 하려면 어떻게 해야할까?
답은 equals이다
포장 객체의 내부의 값을 비교하기 위해서는 ==의 사용 대신 equals() 메소드를 쓰는것이 좋다
내부의 값을 비교하기 때문이다.
문제는 간단히 해결되지만, 왜 100은 true가 나오고 300은 false가 나오는 것일까?
그것은 박싱된 값이 int이고, int는 -128 ~ 127까지는 ==으로 내부의 값을 비교할 수 있기 때문이다
127까지는 true가 나오지만, 128부터는 false가 나오는 것을 확인할 수 있다
해당 영역이 중요한것이 아니라, Wrapper클래스는 == 비교가 항상 옳다는걸 보장할 수 없으니
equals() 메소드를 사용하는것이 좋다라고 생각하는게 좋을거 같다
해당 내용은 혼자공부하는자바 Chapter 11에 p498 ~ p503을 참고하면 된다.
'Java > 혼공단' 카테고리의 다른 글
[혼공단10기] JAVA - 6주차 (0) | 2023.08.15 |
---|---|
[혼공단10기] JAVA - 5주차 (0) | 2023.08.08 |
[혼공단10기] JAVA - 4주차 (0) | 2023.07.25 |
[혼공단10기] JAVA - 2주차 (1) | 2023.07.16 |
[혼공단10기] JAVA - 1주차 (2) | 2023.07.09 |