목차
💭Intro
알고리즘 문제를 풀다가 문제가 안 풀려서 여러 블로그를 살펴보았는데, int가 아닌 Integer을 쓰는 것을 발견했다. 그런데 갑자기 int가 아닌 Integer을 쓰는 이유에 대해 궁금해졌다. 그래서 이 둘의 차이점을 찾아보기 시작했다.
📂content
1. int란?
- 자료형에서 기본형(primitive type)에 속함
- 산술 연산 가능
- null로 초기화X
2. Integer란?
- 래퍼 클래스(wrapper class)
-> 클래스이기 때문에 클래스가 가지는 특성(멤버변수, 생성자, 함수 등이 존재)을 포함함. - Unboxing하지 않을 시 산술 연산 불가능
- null값 처리 가능
2-1. 왜 사용?
- 기본 유형을 사용할 수 없는 Collection 객체로 작업할 때
- 메소드의 인수로 객체 타입만 요구할 때
- 객체간의 비교가 필요할 때
3. Boxing? Unboxing?
1. boxing
primitive type -> wrapper class
2. unboxing
wrapper class -> primitive
3-1. parseInt와 valueOf의 차이
이 둘은 모두 Integer의 메소드이다.
parseInt은 매개변수를 받아 int를 반환한다.
valueOf는 매개변수를 받아 Integer을 반환한다.
그렇다면, Integer.valueOf(10)+Integer.valueOf(20)의 결과값은 무엇일까?
정답은 30이다. Integer은 앞서서 산술연산이 불가능하다고 했다. 하지만 위와 같은 경우는 AutoUnboxing이 적용되기 때문에, Integer가 int로 자동형변환이 되어 연산이 가능해진다.
📑 출처 및 참고자료
https://docs.oracle.com/javase/tutorial/java/data/autoboxing.html
Autoboxing and Unboxing (The Java™ Tutorials > Learning the Java Language > Numbers and Strings)
The Java Tutorials have been written for JDK 8. Examples and practices described in this page don't take advantage of improvements introduced in later releases and might use technology no longer available. See Java Language Changes for a summary of updated
docs.oracle.com
http://www.tcpschool.com/java/java_api_wrapper
코딩교육 티씨피스쿨
4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등
tcpschool.com
int와 integer이 차이가 궁금합니다.. - 인프런 | 질문 & 답변
궁금해서 구글링을 해봤는데... 흠.. 읽어도 잘 이해가 가지 않아서요... int는 변수에 사용하는 자료형이다 integer는 객체다 라는 차이는 알겠는데 박싱, 언박싱... 이게 잘 이해가 가지 않습니다...
www.inflearn.com
감사합니다😊
'💻개발 > JAVA' 카테고리의 다른 글
split(".") 예상결과가 나오지 않는 이유 (0) | 2024.02.17 |
---|---|
알고리즘) Stringbuilder 왜 사용할까? (1) | 2024.01.11 |
리터럴 (0) | 2023.06.23 |
숫자에 _(언더바) (0) | 2023.06.22 |