구조체(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