[TIL-251216] 구조체

데비·2025년 12월 16일

본과정

목록 보기
9/79

오늘 배운 내용

- 구조체


구조체

구조체란?

  • 구조체는 사용자가 직접 만드는 자료형이다.
    (나만의 커스텀 자료형)
  • 우리가 평소에 사용하는 int와 같은 자료형도 IDE에서 만들어둔 심플타입인것이다.
  • 구조체는 값타입이다.

구조체의 형태

struct 선언하고자하는 자료형명
{
	구동하고자하는 형태
}

구조체의 예시

  • 이전에 자료형을 배웠을때 만약에 사람들의 정보를 적는다면, int, string, float 을 사용하여, 각각 사람에에 대한 정보를 적어준후 Console.Writeline을 사용해서 여러 사람의 정보를 각각 출력해주는 작업을 했었다.
  • 구조체를 사용하여, 여러명의 정보를 입력했을때 출력까지 해야한다면 일일이 입력하지않고 정보만 입력하여, 빠르게 일을 처리 할 수 있다.
class Program
{
    static void Main(string[] args)
    {
        StudentInfo[] students = new StudentInfo[3];

        students[0] = new StudentInfo("데비", 20, 164f, "각오 단단히 해!");
        students[1] = new StudentInfo("마를렌", 20, 164f, "우린 붙어있을때 최강이니깐");
        students[2] = new StudentInfo("히스이", 18, 164f, "히스이, 준비완료");

        foreach (StudentInfo student in students)
        {
            student.PrintInfo();
        }
    }

    struct StudentInfo
    {
        private string Name;
        private int Age;
        private float Height;
        private string OneWord;

        public StudentInfo(string name, int age, float height, string oneWord) // 생성자
        {
            Name = name;
            Age = age;
            Height = height;
            OneWord = oneWord;
        }

        public void PrintInfo()
        {
            Console.WriteLine("-------------");
            Console.WriteLine($"이름 : {Name}");
            Console.WriteLine($"나이 : {Age} 살");
            Console.WriteLine($"키 : {Height} cm");
            Console.WriteLine($"한마디 : {OneWord}");
        }
    }
  • 원래라면 각각의 데이터도 기입해주면서 출력도 각각 해줬어야하는데, 구조체를 이용하여 배열만 늘려주고 학생의 정보만 기입해주면 여러명의 데이터를 쓰는 작업이 줄어든다.

Private 와 Public

  • 구조체(내부)를 만들때 Public은 Main(외부)에서 가져다 쓸때 수정이 가능하다.
  • 구조체(내부)를 만들때 Private은 Main(외부)에서 가져다 쓸수는 있어도 수정하는것이 불가능한 형태이며, private가 들어있는 내용은 내부에서만 가지고 쓸수있다.

  • 구조체도 사실 어제 배운내용인데 과제를 하다보니 어느새 정리할 시간이 없어서 어제는 열거형을 따로 정리하고 오늘 정리하게되었다... 빠르게 용어들을 이해하고 응용하는법을 익혀야겠다.

0개의 댓글