본문 바로가기

자기계발/Immersive Content

패스트캠퍼스 챌린지 16일차(Reference, Stack, Heap, Boxing, ReadLine)

[누구나 가능한 VR/AR 콘텐츠제작 올인원 패키지 Online]

 

더보기

Ch 03. 데이터란 무엇일까 - 07. 기본 데이터3 - 2

Ch 03. 데이터란 무엇일까 - 07. 기본 데이터3 - 3

 

 

07. 기본 데이터3 - 2


값형식 vs. 참조형

ㅇ메모리 저장 방식 차이

-값형식과 참조형은 서로 메모리에 저장되는 방식이 다름

-데이터가 너무 길면 프로그램이 무거워지기 때문에 메모리 저장의 다른 방식이 존재함(?)

-Call by value / call by refernece

*이후 함수를 배우고, 값/참조형의 리턴값을 보면 이 두가지 방식의 필요성을 알게됨

 

ㅇ메모리: 스택(Stack)영역과 힙(Heap)영역

-스택영역: 쓰고 지우는 것을 반복하여 사용

-힙영역: 클래스동안 혹은 일정기간 유지하여 사용

 

ㅇ값형식(Value)

-모든 수치형, char, bool, enum

-스택영역에 저장됨

 

ㅇ참조형(Refernece)

-문법: 데이터형 ref새식별자 = 데이터

-배열, string, class, interface, delegate

-값을 저장하는 것이 아닌 주소를 참조함

-변수가 서로 영향을 줌(서로 참조를 하고 있는 관계이기 때문임)

-힙영역에 데이터가 있고 스택영역에서 이 데이터의 주소를 참조함

028_Data_Reference

-ReferenceEquals: 레퍼런스가 데이터와 같냐?를 묻는 함수

-1번 선언부분은 값형식, 2번은 참조형(배열! 데이터)

-1번은 스택 메모리에 두 식별자(num과 refNum)가 따로 저장되는 형식이어서 변환해도 서로 영향없음

-2번은 참조형 데이터로 두 개의 데이터가 영향을 줌

 

07. 기본 데이터3 - 3


Boxing & Unboxing

-뭔지 잘 모르겠지만, 박싱/언박싱 과정이 들어가면 프로그램이 무거워진다..

 

출처: https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/types/boxing-and-unboxing

 

출처: https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/types/boxing-and-unboxing

ReadLine

-한 줄씩 문자를 읽어라

-데이터 형은 반드시 string

-때에 따라서 문자형 데이터를 parse/convert로 변환하여 저장해야 함

-쓰는 법: string 식별자 = Console.ReadLine();

030_ReadLine

 

031_ReadLine2

-문자를 입력 받아서 형변환하지 않으면 연산 할 수 없음

 

배우면 바뀐다 패스트캠퍼스>>> https://bit.ly/37BpXiC

 

패스트캠퍼스 [직장인 실무교육]

프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.

fastcampus.co.kr

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.