Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C#에서 구조체(Struct)를 정의하고 사용하는 방법

C#에서 구조체(structure)는 값 형식(value type) 데이터 타입입니다. 구조체를 활용하면 서로 관련된 다양한 데이터 타입의 데이터를 하나의 변수에 담아 관리할 수 있습니다. 예를 들어 책의 제목, 저자, 주제, 고유 번호처럼 하나의 대상에 속한 여러 정보를 묶어서 처리할 때 유용합니다.

구조체 정의하기

구조체를 정의하려면 struct 문을 사용해야 합니다. struct 문은 프로그램에서 사용할 새로운 데이터 타입을 정의하며, 그 안에 여러 개의 멤버를 포함할 수 있습니다.

다음은 구조체를 정의하는 기본적인 방법입니다.

struct Books {
   public string title;
   public string author;
   public string subject;
   public int book_id;
};

위 코드에서 Books라는 이름의 구조체가 정의되었으며, 문자열 형식의 title, author, subject와 정수 형식의 book_id 네 개의 멤버 변수를 가지고 있습니다.

구조체 사용 예제

다음은 C#에서 구조체를 선언하고 데이터를 할당한 후 출력하는 전체 예제입니다.

예제 코드

using System;

struct Books {
   public string title;
   public string author;
   public string subject;
   public int book_id;
};

public class testStructure {
   public static void Main(string[] args) {
      Books Book1; /* Book 타입의 Book1 선언 */
      Books Book2; /* Book 타입의 Book2 선언 */

      /* 첫 번째 책 정보 입력 */
      Book1.title = "Learn AngularJS";
      Book1.author = "David";
      Book1.subject = "AngularJS";
      Book1.book_id = 345;

      /* 두 번째 책 정보 입력 */
      Book2.title = "Learn Java in 7 days";
      Book2.author = "Jack";
      Book2.subject = "Java";
      Book2.book_id = 567;

      /* Book1 정보 출력 */
      Console.WriteLine("Book 1 title : {0}", Book1.title);
      Console.WriteLine("Book 1 author : {0}", Book1.author);
      Console.WriteLine("Book 1 subject : {0}", Book1.subject);
      Console.WriteLine("Book 1 book_id : {0}", Book1.book_id);

      /* Book2 정보 출력 */
      Console.WriteLine("Book 2 title : {0}", Book2.title);
      Console.WriteLine("Book 2 author : {0}", Book2.author);
      Console.WriteLine("Book 2 subject : {0}", Book2.subject);
      Console.WriteLine("Book 2 book_id : {0}", Book2.book_id);

      Console.ReadKey();
   }
}

실행 결과

Book 1 title : Learn AngularJS
Book 1 author : David
Book 1 subject : AngularJS
Book 1 book_id : 345
Book 2 title : Learn Java in 7 days
Book 2 author : Jack
Book 2 subject : Java
Book 2 book_id : 567

정리

이 예제에서 확인할 수 있듯이, 구조체는 관련된 데이터를 하나의 단위로 묶어 관리할 수 있게 해주는 강력한 도구입니다. 클래스와 비슷해 보이지만 구조체는 값 형식이므로 변수에 할당될 때 데이터가 복사된다는 점이 중요한 차이입니다. 따라서 크기가 작고 간단한 데이터 그룹을 표현할 때 구조체를 사용하는 것이 효율적입니다.