다음을 통해 공유


구조체(Visual C# Express)

업데이트: 2007년 11월

C# 구조체는 상속 등의 일부 기능이 없다는 점만 제외하고는 클래스와 비슷합니다. 또한 구조체는 값 형식이므로 일반적으로 클래스보다 빠르게 만들 수 있습니다. 수많은 데이터 구조가 새로 생성되는 비효율적인 루프를 사용하는 경우에는 클래스 대신 구조체를 사용하는 것이 좋습니다. 모눈에서 점의 좌표나 사각형의 치수 같은 데이터 필드의 그룹을 캡슐화하는 데도 구조체를 사용할 수 있습니다. 자세한 내용은 클래스(Visual C# Express)를 참조하십시오.

예제

이 예제 프로그램에서는 지리적 위치를 저장하는 struct를 정의합니다. 또한 ToString() 메서드를 재정의하여 WriteLine 문에 표시될 때 더 유용한 출력을 생성합니다. 이 struct에는 메서드가 없으므로 클래스로 정의할 필요가 없습니다.

struct GeographicLocation
{
    private double longitude;
    private double latitude;

    public GeographicLocation(double longitude, double latitude)
    {
        this.longitude = longitude;
        this.latitude = latitude;
    }

    public override string ToString()
    {
        return System.String.Format("Longitude: {0} degrees, Latitude: {1} degrees", longitude, latitude);
    }
}

class Program
{
    static void Main()
    {
        GeographicLocation Seattle = new GeographicLocation(123, 47);
        System.Console.WriteLine("Position: {0}", Seattle.ToString());
    }
}

출력

이 예제의 출력은 다음과 같습니다.

Position: Longitude: 123 degrees, Latitude: 47 degrees

참고 항목

개념

C# 프로그래밍 가이드

C# 언어 입문

클래스(Visual C# Express)

참조

class

struct

클래스 및 구조체(C# 프로그래밍 가이드)