C# struct와 enum

2023. 5. 17. 11:51C# 프로그래밍 개념

struct는 한국어로는 구조체라고 부른다.

 

클래스와 비슷한 구조체. 리터럴 초기화가 안된다. 정의하고 초기값을 대입하는 게 안되고, 그냥 = 0이 기본이다. C#에서는 struct는 값형(value type)이고, 클래스는 Reference Type이다.

 

int, double, float, bool 등의 값, 기본 데이터형들은 기본적으로 struct로 정의되어 있다. 값형이라는 것이다.

 

값의 형태에다가 참조형, 값형이 있는데 클래스를 객체화해서 하면 참조형이다. 구조체는 값형이다. 참조를 가리키는 형태가 아니고 그냥 구조체를 쓰면 구조체의 값이 그대로 복사되는 것이라서 값이 근본적으로 바뀌지 ㅇ낳음.

구조체는 안에 다 들고 있다. struct를 함수에서 값을 바꾸고 해도 안 바뀐다. 새로운 값이 복사되는 것에 그치는 것이다.

 

enum은 사용자 정의 자료형 중의 하나다. 값형이면서 사용자 정의 자료형.

 

보통 어떤 상태를 표현하는 것 중에서 나만의 것을 가지고 싶을 때에 사용한다. 열거 자료형이라고도 할 수 있다. 

어떤 클래스를 무한히 만들어서 할 수 없기 때문에 열거형으로 만들어 놓는다. 명찰에 가깝다고 봐야할 거 같다. 러 가지 경우로 나눠서 분류할 때 좋다. 값의 범위를 지정한 새로운 자료형을 만들어 낼 있다는 것이 장점이다. switch와의 궁합이 좋다.

 

사용방법 제외하고는 그냥 int형이라고 생각해도 된다. 값의 범위를 좁히려고 할 때 값을 제한할 수 있는 장점이 있다.

'C# 프로그래밍 개념' 카테고리의 다른 글

프로그래머스 C# 문자열 출력하기  (0) 2023.05.22
C# 템플릿(제네릭) 함수  (0) 2023.05.19
C# 에서의 this 문법  (0) 2023.05.16
C# 프로퍼티  (0) 2023.05.15
C# 동기와 비동기 짧게  (0) 2023.05.15