티스토리 뷰
TIL 1. 변수와 메모리 관련해서 내용 정리
- 변수를 메모리에 저장하는 방법하고 기본형 변수 참조형 변수와 저장 메모리 공부했다.
그냥 대충 알아고 넘어가도 문제 없었지만
간단한 기본만 한번 더 숙지해도 혼란이 줄고 이해력이 사고력이 크게 증가한다
기본형 데이터 - 불변값(Real 해당데이터 가비지콜렉팅 당하기 전까지 안변함)
참조형 데이터 - 가변값( 참조 주소의 변경 가능)
변수이름과 가르키는 주소가 있고 해당 주소에 값이 들어있음
값을 변경할 때 변수는 해당 값이 있다면 해당 값이 들어있는 주소를 참조하고 없다면 해당 값을 저장하는 메모리 공간을 할당해 저장한다.
참조가 없어진 변수는 가비지컬렉트 단계에서 제거된다 .
참조형 변수는 배열이나 key:value를 생각하면 쉬운데
변수에 저장된 주소에 가면 값이 들어있는 주소 리스트(인덱스)가 있고 그 주소 한 번더 들어가서 값이 있다.
이때 얇은 복사와 깊은 복사 문제가 발생하는 것.
얇은 복사는 1차원 배열을 복사하는 것은 문제가 없다.
하지만 인덱스 값에 또 다시 참조형 변수가 있는 2중 참조 구조(ex.이차원 배열)에서는 문제가 발생한다.
잊어버릴 일은 없겠지만 한번 그려보면 쉽다.
참고.
코어자바 - 01장 데이터타입
- 더 간단하게 쓰자
'공부 > T.I.L(2021)' 카테고리의 다른 글
6. TIL - 도메인_프로그래밍에서 도메인이란 무엇일까? (0) | 2021.01.17 |
---|---|
5.TIL - 신장트리, MST, 크루스칼, union-find (0) | 2021.01.14 |
4. TIL - 플러그인(plug-in), 빌드도구(그레이들) (0) | 2021.01.08 |
2. TIL - 객체지향의 사실과 오해, Trello (0) | 2021.01.03 |
1. TIL - 시간 (0) | 2020.12.31 |