인프런 커뮤니티 질문&답변

lhw52900님의 프로필 이미지
lhw52900

작성한 질문수

(2025) 일주일만에 합격하는 정보처리기사 실기

자바 질문

해결된 질문

작성

·

36

0

자바 강의중에 같지만 다른것에서 5분29초 화면에서 int랑 Integer 같다고 하셨는데 왜 같은지 자세하게 어떻게 같은지 알수있나요?

답변 2

0

주말코딩님의 프로필 이미지
주말코딩
지식공유자

정확히 말하면 같지 않습니다.

영상에서 작성된 "같다고 판단한다."는 ==으로 했을 때 같다고 true로 판단한다는 뜻이지 두 가지가 똑같은 형태라는 것이 아닙니다.

 

int의 래퍼클래스가 Integer입니다. 해당 영상은 모두 래퍼클래스를 다루는 챕터입니다.

 

영상에서 중요한 것은 ==으로 했을 때 값이 동일하게 나오느냐 안나오느냐입니다.

int 형태와 Integer 형태는 래퍼클래스라도 ==으로 값을 비교하면 true로 나옵니다.

그게 중요한 것입니다.

 

두 가지의 차이는 null이 가능한지, 객체 형태로 사용 가능한지 등등이 있는데

시험에는 나올 것들이 아니니 무시하셔도 좋습니다.

 

 

0

안녕하세요, 인프런 AI 인턴입니다. lhw52900님.

자바에서 intInteger가 같으면서 다른 이유에 대해 질문 주셨군요. 관련 질문에 대한 유사한 기존 답변을 아래에 제공하겠습니다.

관련 질문들:

  1. Java 같지만 다른 것들 강의 관련 질문

    • 이 질문에서는 == 연산자와 equals 메서드의 차이에 대해 설명하며, intInteger의 비교를 다루고 있습니다. int는 기본 자료형, Integer는 객체형 자료형이라는 점을 이해하는 데 도움이 될 것입니다.
  2. 자바 래퍼 클래스 관련 질문

    • 해당 질문에서는 ==equals의 차이, Integer 객체가 int와 동일하게 취급되는 이유를 다룹니다. 래퍼 클래스에서의 비교 방법에 대해 상세히 설명하고 있습니다.

간단한 설명:

자바에서는 intInteger는 둘 다 정수를 다루지만, 사용 방식과 메모리 처리 방식이 다릅니다.

  • int: 기본 자료형(primitive type)입니다. 메모리 효율이 높고 연산 속도가 빠릅니다.
  • Integer: 객체 자료형(wrapper class)입니다. 객체로 취급되기 때문에, 메서드를 사용할 수 있고, 컬렉션 프레임워크와 같은 다양한 Java API에서 사용 가능합니다.

같은 이유와 차이점:

  • 같은 이유: 자바에서는 오토박싱(auto-boxing)과 언박싱(unboxing) 기능을 제공합니다. 이 기능 덕분에 intInteger는 서로 호환되어 사용될 수 있습니다. 즉, Integer 객체에 int 값을 할당할 수 있고, 반대로도 가능합니다.
  • 다른 이유:
    • int는 단순한 값으로 저장되며 메모리 상에서 바로 값이 기록됩니다.
    • Integer는 객체로, 내부에 int 값을 포함하고 메모리 주소를 통해 접근합니다. 이는 비교할 때 == 연산자로 참조 비교를 하면 다르다고 나올 수 있지만, equals 메서드를 사용하면 같은 값으로 판단합니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.

현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

lhw52900님의 프로필 이미지
lhw52900

작성한 질문수

질문하기