IntelliJ 에서 Integer 변수 i를 선언하고 10을 할당한 뒤, 위 이미지에는 가려졌지만 i + 1을 출력하도록 해 보니 Integer 변수에 Type may be primitive Warning이 뜨는 것이 보이는데 작동 상 문제는 없지만 가급적이면 Wrapper 클래스인 Integer 대신 Primitive 클래스인 int를 사용하라는 얘기인데
왜 Primitive 클래스를 써야하냐면
일단 Primitive 클래스는 지정한 값을 바로 저장하는 반면 Wrapper 클래스는 객체를 생성하고 지정한 값이 들어있는 객체의 주소를 저장하게 되는데 과정만 봐도 Primitive 클래스가 더 적은 메모리를 사용하고 속도가 빠른 대신 Wrapper 클래스는 객체를 생성한 뒤 그 객체 안에 값을 저장하는 것이기 때문에 대부분의 상황인 메모리를 효율적으로 사용하거나 빠른 성능이 필요한 경우에는 Primitive 클래스를 사용하고 그 외에 NULL 이나 메소드 등 유연성이 필요한 경우에만 Wrapper 클래스를 사용해주면 되겠다
Latest Posts
Categories
- Algorithm (161)
- Algorithm Knowledge (3)
- Algorithm site usage (6)
- Java (152)
- Docker (2)
- IntelliJ (20)
- Java (42)
- My Project (4)
- Spring (4)
- Uncategorized (7)
- Vue.js (1)
Leave a Reply