[Java] 원시 타입과 참조 타입 차이점, 장단점

이준영·2024년 4월 8일

Java

목록 보기
3/3
post-thumbnail

원시 타입 특징 및 장단점

byte, short, int, long, float, double, char, boolean

데이터를 직접 저장합니다.
메모리에 값이 직접 저장되므로 스택 메모리에 저장됩니다.
다른 변수에 할당할 때 값 자체가 복사됩니다.

장점 : 원시타입은 값 자체를 저장하기 때문에 메모리 공간을 절약하고 더 빠른 접근이 가능합니다.
단점 : 원시 타입은 데이터를 단순히 저장하고 가져오는 용도로만 사용되므로 객체지향적인 프로그래밍에서는 제한적입니다. 그리고 null 값을 가질 수 없기 때문에 NullPointerException을 방지 할 수 없습니다.

참조 타입 특징 및 장단점

Class, Interface, Array...

객체의 주소를 저장합니다.
메모리에는 객체가, 변수에는 객체의 주소가 저장됩니다.
변수 간의 할당 시 주소만 복사 됩니다.

장점 : 클래스와 객체를 사용하여 복잡한 데이터 구조를 모델링할 수 있으며, 상속, 다형성, 캡슐화 등 객체 지향 프로그래밍의 장점을 활용할 수 있습니다. 그리고 null 값을 가질 수 있어 객체가 존재하지 않을 수 있는 상황을 표현할 수 있습니다.
단점 : 객체는 동적으로 할당되며, 이에따라 메모리 사용량이 증가할 수 있습니다. 그리고 객체의 주소를 저장하므로 간접적인 접근이 필요하며, 이로 인해 성능이 저하 될 수 있습니다.

차이점

원시타입은 단순한 값을 다룰 때 효과적이며, 작은 메모리 공간을 차지합니다.
참조 타입은 객체를 생성하고 관리할 때 유연성을 제공하며, 메모리 사용을 효율적으로 합니다.

profile
환영합니다!

0개의 댓글