티스토리 뷰

[이 글을 쓴 목적]

난 Unity로 게임을 만든다. 그리고 Unity는 C#이라는 언어를 기본적으로 사용한다.

 

C#에서 사용되는 기본적인 자료형식을 이해하면

스크립트가 어떤 말을 하고 있는것인지 이해하는데 도움이 될거라고 생각했다.

 

무엇보다 나와같은 비전공자들이 실질적으로 코딩을 하는데 있어서 불편함이 줄어들면 좋겠다

 

이번 포스트에서 배울 수 있는 것들

  • 참조형식(reference type)과 값형식(value type) 의 의미와 차이 이해
  • 기본제공 형식(built-in type) 과 사용자 지정형식(custom type)의 의미 이해
  • 기본제공 형식(built-in type)의 종류와 의미

C#문서에 나와있는 형식 세션의 목차는 다음과 같으며 이것들을 따라서 하나 하나 배워볼 예정이다.

https://docs.microsoft.com/en-us/dotnet/csharp/fundamentals/types/

 

The C# type system

Learn about creating types in C#, such as tuples, records, value types, and reference types.

docs.microsoft.com

우선 C#이라는 언어에서 다루는 자료형식중 참조형식과 값형식에 대해서 알아보겠다.

 

일단 자료형식이란 자료의 종류 정도라고 생각하면 좋을 것 같다.

우리가 요리를 할때 필요한 원재료와 같은 느낌? 이다.

 

원재료의 특성을 알아두면 요리를 잘 할 수 있는 것처럼

자료의 종류와 특성을 알아두면, 무엇끼리는 호환이 안되는지 그리고 내가 구현하려는 기능에 적합한 자료형은 무엇인지 이해할 수 있다.

 

재료의 성격을 알면, 적재적소에 사용할 수 있다! (출처 : https://blog.naver.com/bing_e/221846579464)

참조형식(Reference Type) VS 값 형식 (Value Type)

참조형식과 값형식을 간단히 이해해보기 위해 

 

어떤 사람들이 블로그에서 글을 쓸 때 다른사람이 올린 글의 내용을 자신의 블로그에 인용하고 싶다고 하자

이때, 참조형식은 자신의 글에에 원본글의 링크를 걸어놓는 것과 같다. 따라서 만약 원본글의 내용이 바뀌면, 링크를 타고 들어가서 보게되는 내용이 바뀌게 된다.

 

즉, 원본글의 내용이 바뀌면 → 원본글의 링크를 가진 모든 글이 영향을 받게 된다

 

반면 값형식은 블로그를 만들때 다른사람의 글을 복사해오는 것과 같다. 따라서 원본글의 내용이 바뀌더라도 내 블로그에 복사된 글의 내용은 복사할 당시의 내용에서 변하지 않는다.

 

즉, 원본글의 내용이 바뀌어도 → 복사된 글에는 영향을 줄 수 없다

구분 참조형식(Reference Type) 값 형식 (Value Type)
설명 블로그를 만들때,
링크를 걸어서 다른사람이 쓴 글의 내용을 가져오는 방법
블로그를 만들때,
직접 타이핑을 하거나 글의 내용을 복사해서 다른 사람이 쓴 글의 내용을 가져오는 방법
종류 class, interface, object, string int, float, bool, char 등
특징 원본글의 내용이 바뀌면 → 원본글의 링크를 가진 모든 글이 영향을 받게 됨 원본글의 내용이 바뀌어도 → 복사된 글에는 영향을 줄 수 없다

 

기본제공 형식(Built-in Type) VS 사용자지정 형식 (Custom Type)

기본 제공 형식(Built-in Type)이란 C#언어를 사용할 때 기본적으로 사용할 수 있는 자료형식을 뜻한다.

사용자지정 형식(Custom Type)이란 사용자가 직접 만들 수 있는 자료형식을 뜻한다.

구분 기본제공 형식(Built-in Type) 사용자지정 형식(Custom Type)
설명 C#언어에 기본적으로 탑재되어 있는 자료형식 사용자가 직접 만들어서 사용할 수 있는 자료형식
종류 int, float, stirng, object ...  class, interface, enum, record ...

 

기본제공 형식(Built-in Type)의 종류

 

아래 링크는 기본제공형식에 대한 링크이다. 따라서 참조 형식

https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/builtin-types/built-in-types

 

Built-in types - C# reference

Learn C# built-in value and reference types

docs.microsoft.com

 

아래 표는 내가 직접 원본을 보고 적은 것이므로 값형식이다.

형식 구분 키워드 설명
값형식 논리연산 bool True, False 값을 나타냄
문자 char 문자 한개 ex) A, 다, ※ ...
정수 sbyte -128~127 (부호O, 8비트)
byte 0~255  (부호X, 8비트)
short –32,768 ~ 32,767 (부호O, 16비트)
ushort 0 ~ 65,535 (부호X, 16비트)
int -2,147,483,648 ~ +2,147,483,648 (부호O, 32비트)
uint 0 ~ 4,294,967,295 (부호X, 32비트)
long –9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 (부호O, 64비트)
uling 0 ~ 18,446,744,073,709,551,615 (부호X, 64비트)
unint 플랫폼에 따라 달라짐 => 부호O 32비트 or 64비트
nuint 플랫폼에 따라 달라짐 => 부호X 32비트 or 64비트
실수 float 6~9개 자릿수의 실수 (4바이트)
  double 15~17개 자릿수의 실수 (8바이트)
  demical 28~29개 자릿수의 실수 (16바이트)
참조형식 객체 object 모든 자료 형식을 담을 수 있음
문자열 string char로 이루어진 집합체

 

끝.

728x90
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
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
글 보관함