C#에서 프로퍼티는 클래스의 데이터 멤버를 캡슐화하는 데 사용됩니다. 데이터 멤버는 클래스 외부에서 직접 액세스할 수 없으며, 프로퍼티를 통해 간접적으로 액세스할 수 있습니다. 이번 글에서는 C# 프로퍼티를 자세히 살펴보겠습니다.
프로퍼티란?
프로퍼티는 클래스의 데이터 멤버를 캡슐화하는 데 사용됩니다. 데이터 멤버에 직접 액세스할 수 없으며, 프로퍼티를 통해 간접적으로 액세스할 수 있습니다. 프로퍼티는 get 및 set 접근자를 사용하여 구현됩니다.
프로퍼티의 예
다음은 프로퍼티의 간단한 예입니다.
public class Person
{
private string name;
public string Name
{
get { return name; }
set { name = value; }
}
}
위의 예제는 Person 클래스를 정의합니다. Name 프로퍼티는 private 데이터 멤버인 name을 캡슐화합니다. get 접근자를 사용하여 name 값을 반환하고, set 접근자를 사용하여 name 값을 설정합니다.
읽기 전용 및 쓰기 전용 프로퍼티
프로퍼티를 읽기 전용 또는 쓰기 전용으로 만들 수도 있습니다. 읽기 전용 프로퍼티는 get 접근자만 가지며, 쓰기 전용 프로퍼티는 set 접근자만 가집니다.
public class Circle
{
private double radius;
public double Radius
{
get { return radius; }
set { radius = value; }
}
public double Area
{
get { return Math.PI * radius * radius; }
}
}
위의 예제에서 Radius 프로퍼티는 읽기 쓰기 모두 가능하지만, Area 프로퍼티는 읽기 전용입니다.
자동 구현 프로퍼티
C# 3.0부터는 자동 구현 프로퍼티를 사용하여 프로퍼티를 더욱 간단하게 구현할 수 있습니다. 자동 구현 프로퍼티는 get 및 set 접근자를 생략하고, 데이터 멤버를 자동으로 생성합니다.
public class Car
{
public string Make { get; set; }
public string Model { get; set; }
public int Year { get; set; }
}
위의 예제에서는 자동 구현 프로퍼티를 사용하여 Car 클래스의 Make, Model 및 Year 프로퍼티를 구현합니다.
C#에서 멤버 변수와 전역 변수의 차이점
C#에서 멤버 변수와 전역 변수는 모두 변수이지만, 사용하는 방법과 범위가 다릅니다.
멤버 변수는 클래스 또는 구조체의 일부로 선언됩니다. 멤버 변수는 해당 클래스 또는 구조체의 인스턴스에 종속되며, 인스턴스가 생성될 때마다 메모리에 할당됩니다. 멤버 변수에는 접근 제한자를 사용하여 접근을 제어할 수 있습니다.
전역 변수는 클래스 또는 구조체의 일부가 아닌 파일 또는 어셈블리의 일부로 선언됩니다. 전역 변수는 해당 파일 또는 어셈블리의 모든 코드에서 사용할 수 있으며, 프로그램이 시작될 때 메모리에 할당됩니다. 전역 변수는 public 또는 static 접근 제한자를 사용하여 접근을 제어할 수 있습니다.
멤버 변수와 전역 변수는 각각 다른 용도로 사용됩니다. 멤버 변수는 해당 클래스 또는 구조체의 상태를 저장하고, 전역 변수는 프로그램 전체에서 공유되는 데이터를 저장합니다. 전역 변수는 프로그램 전반에 걸쳐 사용되므로, 사용에 주의해야 합니다. 전역 변수를 오용하면 코드의 가독성과 유지 보수성이 저하될 수 있습니다.
따라서, C#에서 멤버 변수와 전역 변수의 차이점은 변수의 범위와 사용 방법입니다. 멤버 변수는 클래스 또는 구조체의 일부로 선언되며 인스턴스에 종속되며, 전역 변수는 파일 또는 어셈블리의 일부로 선언되며 프로그램 전체에서 사용됩니다.
멤버 변수와 전역 변수는 각자의 용도와 범위가 있습니다. 멤버 변수는 해당 클래스 또는 구조체의 인스턴스에 종속되며 해당 인스턴스에서만 사용할 수 있습니다. 이를 통해, 해당 클래스 또는 구조체의 상태를 저장하고 유지할 수 있습니다.
반면에, 전역 변수는 파일 또는 어셈블리의 모든 코드에서 사용할 수 있고, 프로그램 전체에서 공유됩니다. 이는 프로그램 전체에서 사용할 데이터를 저장하기 위해 사용됩니다.
멤버 변수와 전역 변수는 각자의 장단점을 가지고 있습니다. 멤버 변수는 해당 클래스 또는 구조체의 상태를 쉽게 유지할 수 있으며, 데이터 무결성을 보장할 수 있습니다. 반면에, 전역 변수는 여러 곳에서 사용할 수 있어서 편리합니다.
하지만, 전역 변수는 프로그램 전체에서 사용될 수 있기 때문에, 여러 코드에서 값이 변경될 가능성이 높습니다. 이는 코드의 버그를 발생시키고 유지보수를 어렵게 만들 수 있습니다.
따라서, 멤버 변수와 전역 변수를 구분하여 적절하게 사용하는 것이 중요합니다. 멤버 변수는 해당 클래스 또는 구조체의 상태를 보존할 때 사용하고, 전역 변수는 여러 코드에서 사용할 데이터를 저장할 때 사용합니다.
결론
C# 프로퍼티는 클래스의 데이터 멤버를 캡슐화하는 데 사용됩니다. 프로퍼티를 사용하면 데이터 멤버에 간접적으로 액세스할 수 있으며, 읽기 전용 또는 쓰기 전용 프로퍼티를 사용하여 데이터의 일부만 액세스할 수도 있습니다. 자동 구현 프로퍼티를 사용하면 더욱 간단하게 프로퍼티를 구현할 수 있습니다. 이번 글을 통해 C# 프로퍼티에 대해 더욱 자세히 알아보았습니다.
'C#' 카테고리의 다른 글
C# : LINQ (0) | 2023.04.18 |
---|---|
Collection was modified: enumeration operation may not execute (0) | 2023.04.16 |
C# 반복문 : while (0) | 2023.04.15 |
C# 비트연산 (0) | 2023.04.14 |
C# 상속성과 은닉성 (0) | 2023.04.13 |