-
[TIL] 3주차 2일 팀 프로젝트 2일차 + 값 형식과 참조 형식개발일지/스파르타 코딩클럽 부트캠프 2024. 4. 30. 21:26
오늘 일정
- 팀 회의
- 클래스와 구조체 특강 듣기
- 팀 프로젝트 진행
- 힙 영역과 스택 영역
- 값 형식과 참조 형식
배운 내용
클래스와 구조체
힙 영역과 스택 영역
메모리는 4가지 영역이 있는데
프로그램의 코드가 들어있는 코드 영역과
static으로 갈 수 있는 데이터 영역 ( 전역 변수)
그리고 힙영역과 스택 영역이 있다.
int num = 1;
먼저 값 형식이다. 값 형식의 데이터타입은 메모리 할당 내에 데이터를 보유하는 경우인데
- 모든 숫자 데이터 형식
- Boolean, Char 및 Date
- 모든 구조체 ( 멤버가 참조 형식인 경우에도 )
- 열거형
값 형식에는 위의 형식들이 포함된다.
이 경우에는 스택에 선언과 할당이 모두 들어가게 된다.
다음은 참조 형식이다.
Apple apple = new Apple(); 같은 클래스 선언 할당 방식
어떤 형식이든 선언문은 무조건 스택으로 간다.
하지만 할당에서 값 형식과 차이점이 생긴다.
참조 형식은 할당이 힙 영역으로 가서 힙 영역의 주소값을 가져와서 읽어들인다.
참고로 참조 형식은 다음과 같다.
- String
- 모든 배열 ( 요소가 값 형식인 경우에도 )
- 클래스 형식
- 대리자
클래스는 구조체와 반대로 멤버가 값 형식이어도 모두 참조 형식이다.
마지막으로 참조 형식에서
Apple apple1 = new Apple();
Apple apple2 = apple1;
이런 객체화가 아닌 할당을 했을 때는
new Apple();의 값이 바뀌면
apple1과 apple2 모두 바뀌게된다
같은 주소에서 주소값을 가져와서 할당하는 경우이기 때문이다.
'개발일지 > 스파르타 코딩클럽 부트캠프' 카테고리의 다른 글
[TIL] 3주차 4일 배치고사, 인터페이스와 추상클래스 (0) 2024.05.02 [TIL] 3주차 3일 (0) 2024.05.01 [TIL] 3주차 1일 C# 콘솔 게임 팀 프로젝트 (0) 2024.04.29 [TIL] 2주차 5일 개인 프로젝트 수정과 반성 ( 클래스 활용, enum 열거형 ) (0) 2024.04.26 [TIL] 2주차 4일 개인 프로젝트 (2) 2024.04.25