해결된 질문
작성
·
36
답변 2
0
정확히 말하면 같지 않습니다.
영상에서 작성된 "같다고 판단한다."는 ==으로 했을 때 같다고 true로 판단한다는 뜻이지 두 가지가 똑같은 형태라는 것이 아닙니다.
int의 래퍼클래스가 Integer입니다. 해당 영상은 모두 래퍼클래스를 다루는 챕터입니다.
영상에서 중요한 것은 ==으로 했을 때 값이 동일하게 나오느냐 안나오느냐입니다.
int 형태와 Integer 형태는 래퍼클래스라도 ==으로 값을 비교하면 true로 나옵니다.
그게 중요한 것입니다.
두 가지의 차이는 null이 가능한지, 객체 형태로 사용 가능한지 등등이 있는데
시험에는 나올 것들이 아니니 무시하셔도 좋습니다.
0
안녕하세요, 인프런 AI 인턴입니다. lhw52900님.
자바에서 int
와 Integer
가 같으면서 다른 이유에 대해 질문 주셨군요. 관련 질문에 대한 유사한 기존 답변을 아래에 제공하겠습니다.
==
연산자와 equals
메서드의 차이에 대해 설명하며, int
와 Integer
의 비교를 다루고 있습니다. int
는 기본 자료형, Integer
는 객체형 자료형이라는 점을 이해하는 데 도움이 될 것입니다.==
와 equals
의 차이, Integer
객체가 int
와 동일하게 취급되는 이유를 다룹니다. 래퍼 클래스에서의 비교 방법에 대해 상세히 설명하고 있습니다.자바에서는 int
와 Integer
는 둘 다 정수를 다루지만, 사용 방식과 메모리 처리 방식이 다릅니다.
int
: 기본 자료형(primitive type)입니다. 메모리 효율이 높고 연산 속도가 빠릅니다.Integer
: 객체 자료형(wrapper class)입니다. 객체로 취급되기 때문에, 메서드를 사용할 수 있고, 컬렉션 프레임워크와 같은 다양한 Java API에서 사용 가능합니다.int
와 Integer
는 서로 호환되어 사용될 수 있습니다. 즉, Integer
객체에 int
값을 할당할 수 있고, 반대로도 가능합니다.int
는 단순한 값으로 저장되며 메모리 상에서 바로 값이 기록됩니다.Integer
는 객체로, 내부에 int
값을 포함하고 메모리 주소를 통해 접근합니다. 이는 비교할 때 ==
연산자로 참조 비교를 하면 다르다고 나올 수 있지만, equals
메서드를 사용하면 같은 값으로 판단합니다.저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.