C# 클래스 특징: 정적 멤버, 정적 클래스, 중첩 클래스, 익명 타입
이번 글에서는 C# 클래스의 고급 특징 중 정적 멤버, 정적 클래스, 중첩 클래스, 그리고 익명 타입에 대해 알아보겠습니다. 각 특징은 C#에서 객체 지향 프로그래밍을 효과적으로 수행하는 데 중요한 역할을 합니다.
1. 정적 멤버와 정적 클래스
정적 멤버는 클래스의 인스턴스와 상관없이 클래스 자체에 속하는 멤버입니다. 클래스의 인스턴스를 생성하지 않고도 접근할 수 있습니다. 정적 클래스는 인스턴스를 생성할 수 없는 클래스로, 오직 정적 멤버만 포함할 수 있습니다.
// 정적 클래스 예시
public static class Calculator
{
// 정적 메서드
public static int Add(int a, int b)
{
return a + b;
}
}
▶ 위 코드에서 “Calculator”는 정적 클래스이며, “Add” 메서드는 정적 메서드입니다. 따라서 “Calculator.Add(3, 4);”와 같이 클래스 이름만으로 메서드를 호출할 수 있습니다.
2. 중첩 클래스
중첩 클래스는 한 클래스 내부에 정의된 다른 클래스를 의미합니다. 주로 외부 클래스와 밀접한 관련이 있는 경우에 사용됩니다.
public class OuterClass
{
public int OuterVariable = 5;
// 중첩 클래스
public class NestedClass
{
public int NestedVariable = 10;
}
}
▶ 위 코드에서 “NestedClass”는 “OuterClass” 내부에 정의된 중첩 클래스입니다.
3. 익명 타입
익명 타입은 이름 없이 클래스 또는 객체를 생성할 수 있는 C#의 특징입니다. 주로 LINQ 쿼리에서 사용되며, 일시적인 데이터 구조를 만드는 데 유용합니다.
// 익명 타입으로 객체 생성
var anonymousType = new { Name = "BlueShare", Age = 30 };
Console.WriteLine($"Name: {anonymousType.Name}, Age: {anonymousType.Age}");
▶ 위 코드에서 익명 타입을 사용하여 이름과 나이 속성을 가진 객체를 생성했습니다.
▶ 이번 글에서는 C# 클래스의 특징 중 정적 멤버, 정적 클래스, 중첩 클래스, 그리고 익명 타입에 대해 간략하게 알아보았습니다. 각 특징을 깊게 이해하고 활용하면 코드의 효율성과 가독성을 향상시킬 수 있습니다.
참고자료
- Microsoft 공식 문서: 클래스 (C# 프로그래밍 가이드)
- 관련 이전 게시글: C# 클래스와 객체 이해하기
- 관련 이전 게시글: C# 클래스 정의하기: 멤버 변수, 속성, 생성자, 메서드 소개
- 관련 이전 게시글: C# 객체 생성 및 활용: 초기화부터 가비지 컬렉션까지
- 관련 이전 게시글: C# 클래스의 접근 제한자
- 관련 이전 게시글: C# 클래스 확장: 상속, 오버라이딩, 추상 클래스, 인터페이스
다음 글에서는 C#에서의 구조체와 클래스의 차이점에 대해서 알아보겠습니다. 이 글이 도움이 되셨다면 공유 부탁드립니다.