본문 바로가기

교육 노트/C# 강의

[C# 때려잡기] C# 강의 16.객체지향 전에.. 간단한 구조체

1. 구조체

구조체란 하나 이상의 변수를 그룹 지어서 만든 사용자 정의 자료형이다

사용자 정의 자료형이란 C#에서 기본적으로 제공하는 자료형이 아니지만

자료형으로 쓰기위해 우리가 직접 만든 자료형이란 의미이다.


이런 개념이 왜 필요하느냐 하면

예를들어


학생100의 정보 관리 프로그램을 제작할 때
각각의 학생은 이름, 학번, 나이 … 등의 
여러 가지 정보를 가지고 있다.
이를 따로따로 관리하려면
string name[100];
int number[100];
int age[100]; ...

과 같이 해당 자료를 가지는 정보를 배열로 따로따로 만들것이다.

정보가 더 많아지면 더 많은 배열을 만들게 될것이다.


그러나 student의 정보를 하나로 그룹지어서 사용자 정의 자료형을 만들면


Student stu[100];

과 같이 만들수있고

정보가 추가되어도 Student 100명을 만든다는것은 변함이 없다.


구조체는 다음과 같이 정의한다

struct Student
{
public int id;
public string name;
}

struct 키워드 뒤에 구조체 네임

그리고 {} 사이에 구조체가 가져야할 변수들을 넣는다.

변수들 앞 public 키워드는 해당 변수를 밖에서 사용할수 있도록 하는 키워드이다.


using System;

namespace ConsoleApp1
{
struct Student
{
public int id;
public string name;
}
class Program
{
static void Main(string[] args)
{
Student a;
a.id = 2018354445;
a.name = "시로이";

Console.WriteLine("{0}학번 {1}", a.id, a.name);
}
}
}

이런식으로 class Program 외부에 새로운 구조체를 할당하고 main함수에서 Student 자료형을 가지는 변수하나를 만들면

이제 그변수를 통하여 (.을 통함) 변수가 가지는 내부 변수에 접근하여 사용할수있다.



ps.C#에서 구조체는 보다 많은 기능들을 제공하지만 설명을 위하여 아주 아주 조금만 맛보기함.

728x90