티스토리 뷰
참조형 변수
java에서 변수의 타입 중 참조형 변수란 stack에 쌓이는 명시적인 값이 아니라 주소를 저장하는 것이다.
참조형 변수외에 기본형 변수는 메모리 구조 중 stack에 실제값이 들어간다.
Int id = 1231; (1231이라는 값을 id 변수에 저장)
반면에 참조형 변수는 stack에 주소값(4byte)이 저장되고 heap영역에 새로운 저장공간을 생성한다.
String str = new Strint("apple");
영문학 전공자로서 쉽게 이해가 되지 않아 영어 문법에 비유를 하며 좀 더 이해를 높이고자 한다.
영문법에서 3형식은 주 + 동 + 목이라는 구조를 갖는다. 목적어에는 각각 명사와 명사절을 포함할 수 있다.
ex)목적어에 명사를 넣을 경우
I like 2.
ex) 목적에 명사절(to 부정사)을 넣는 경우
I like to eat apple with my family.
I like that my friends come to my house to play the video game.
이때 숫자 2는 선언한 변수에 실제 값을 저장할 수 있고 stack에 저장이 가능하다.
int i = 2;
반면에 to eat apple with my family는 다른 문장으로도 표현을 할 수 있고 굉장히 가변적일 수 있다. 또한 절의 길이 너무 길어 stack에 저장하면 굉장히 비효율적이다. 따라서 목적어 자리(주소값)를 stack에 저장하고 HEAP 공간에 명사절을 저장한다고 생각 할 수 있다.
String str = new String(“명사절”);
결론적으로 참조형 변수에는 heap의 주소 부분을 저장하는 것이다. 마치 목적어 자리의 주소를 저장하듯이..
(개인적인 공부를 위한 공간으로 원리가 맞지 않더라고 너그럽게 이해부탁드립니다.)
'Programming > Java' 카테고리의 다른 글
[Design Pattern] Singleton 패턴 (0) | 2023.12.15 |
---|---|
[SpringBoot] AOP를 활용하여 컨트롤러 메소드 단위 IP 제약 (0) | 2023.09.11 |
[Springboot] @ControllerAdvice 이용하여 NoHandlerFoundException처리 + thymeleaf (0) | 2023.09.08 |
[Mybatis] foreach를 사용하여 update 하기 (0) | 2023.08.28 |
[java] 싱글톤 기초 패턴 (0) | 2022.07.10 |
- Total
- Today
- Yesterday
- 우선순위큐
- 보안
- t검정
- lightsail
- synflooding
- Python
- 다이나믹프로그래밍
- 보안기사
- 정보보안
- LangChain
- t-test
- 그리디
- springboot
- linux
- 정보보안기사
- 코딩테스트
- FastAPI
- 시간초과
- llm
- 파이썬
- 백준
- 리눅스
- 카카오페이
- 자료구조
- 프로그래머스
- java
- 카카오페이면접후기
- 분산시스템
- 딥러닝
- Ai
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |