C# 필드와 속성, 메서드 정의

2024. 9. 11. 03:17c#

C#에서 필드와 속성, 메서드 정의

C#에서 필드, 속성, 메서드는 클래스와 객체를 구성하는 중요한 요소입니다.
이 포스팅에서는 이 세 가지 개념을 정의하고, 각각의 사용 방법을 알아보겠습니다.


1. 필드(Field)

필드란?

필드(Field)는 클래스나 구조체에서 데이터를 저장하는 변수입니다.
필드는 클래스의 상태를 나타내며, 클래스 내에서만 접근할 수 있는 경우가 많습니다.
필드는 클래스의 인스턴스에 속하는 변수를 의미하며, 객체의 상태를 유지하는 데 사용됩니다.

필드 정의 방법

C#에서 필드를 정의하는 기본적인 구문은 다음과 같습니다:

// 필드 선언
public class 클래스이름
{
    // 필드
    데이터형식 필드이름;
}

필드 정의 예제

public class Person
{
    // 필드
    public string name;
    public int age;
}

위 예제에서 name과 age는 Person 클래스의 필드로, 각각 이름과 나이를 저장합니다.


2. 속성(Property)

속성이란?

속성(Property)은 필드를 캡슐화하는 멤버로, 필드에 대한 접근을 제어하는 메서드처럼 동작합니다.
속성은 데이터를 보호하고, 외부에서 필드에 직접 접근하지 못하게 하면서도 값을 읽거나 쓸 수 있는 방법을 제공합니다. 속성은 get과 set 접근자를 통해 필드의 값을 읽고 쓸 수 있습니다.

속성 정의 방법

C#에서 속성을 정의하는 기본적인 구문은 다음과 같습니다:

// 속성 선언
public class 클래스이름
{
    // 필드
    private 데이터형식 필드이름;

    // 속성
    public 데이터형식 속성이름
    {
        get { return 필드이름; }
        set { 필드이름 = value; }
    }
}

속성 정의 예제

public class Person
{
    // 필드
    private string name;
    private int age;

    // 속성
    public string Name
    {
        get { return name; }
        set { name = value; }
    }

    public int Age
    {
        get { return age; }
        set { age = value; }
    }
}

위 예제에서 Name과 Age는 필드 name과 age에 접근할 수 있는 속성입니다.
get 접근자는 필드의 값을 반환하고, set 접근자는 필드에 값을 설정합니다.

속성의 주요 특징

  1. 데이터 보호: 속성은 필드에 대한 접근을 제어함으로써 데이터 보호와 무결성을 보장합니다.
  2. 읽기 전용/쓰기 전용 속성: get 접근자만 있는 속성은 읽기 전용, set 접근자만 있는 속성은 쓰기 전용으로 사용할 수 있습니다.
  3. 자동 구현 속성: C#에서는 자동 구현 속성이라는 간편한 방법도 제공하며, 이는 다음과 같이 정의됩니다:
public string Name { get; set; }

3. 메서드(Method)

메서드란?

메서드(Method)는 클래스나 객체의 동작을 정의하는 코드 블록입니다.
메서드는 특정 작업을 수행하거나 값을 반환하는 함수로, 객체의 상태를 변경하거나 특정 기능을 실행할 때 사용됩니다.

메서드 정의 방법

C#에서 메서드를 정의하는 기본적인 구문은 다음과 같습니다:

// 메서드 선언
public 반환형식 메서드이름(매개변수 목록)
{
    // 메서드의 실행 코드
}

메서드 정의 예제

public class Person
{
    // 필드
    private string name;
    private int age;

    // 메서드
    public void Introduce()
    {
        Console.WriteLine($"안녕하세요, 저는 {name}이고, 나이는 {age}살입니다.");
    }
}

위 예제에서 Introduce 메서드는 Person 객체의 이름과 나이를 출력하는 동작을 수행합니다.

메서드의 주요 특징

  1. 동작 정의: 메서드는 객체의 동작을 정의하며, 클래스 내에서 구현된 특정 기능을 수행합니다.
  2. 매개변수: 메서드는 매개변수를 받을 수 있으며, 이를 통해 메서드 호출 시 데이터를 전달할 수 있습니다.
  3. 반환값: 메서드는 작업 결과를 반환할 수 있으며, 반환형식을 지정할 수 있습니다. 반환값이 없는 경우 void를 사용합니다.

4. 사용 시나리오

필드, 속성, 메서드의 결합

필드, 속성, 메서드는 클래스를 구성하는 기본 요소로, 객체의 상태와 동작을 정의합니다. 예를 들어:

  • 은행 계좌 시스템: Account 클래스에서 balance 필드를 정의하고, Balance 속성을 통해 접근을 제어하며, Deposit과 Withdraw 메서드로 입출금을 처리할 수 있습니다.
  • 사용자 정보 관리: User 클래스에서 username 필드를 정의하고, Username 속성을 통해 접근하며, Login 메서드로 사용자 로그인을 처리할 수 있습니다.

 

C#에서 필드는 객체의 데이터를 저장하고, 속성은 필드를 캡슐화하여 보호하며, 메서드는 객체의 동작을 정의합니다.
이 세 가지 요소를 잘 활용하면 객체지향 프로그래밍의 강력한 기능을 최대한으로 사용할 수 있으며,
더 읽기 쉽고 유지보수하기 쉬운 코드를 작성할 수 있습니다.

'c#' 카테고리의 다른 글

c# 상속  (0) 2024.09.13
C# 접근 제어자: public, private, protected  (0) 2024.09.11
c# 클래스 선언 및 객체 생성  (0) 2024.09.11
c# 클래스와 객체의 개념  (0) 2024.09.10
C# 배열(Array)과 컬렉션(Collection)의 차이점  (4) 2024.09.01