11 클래스

vencott·2021년 6월 2일
0

C#

목록 보기
11/32

클래스는 Reference Type을 정의하는데 사용된다

멤버

메서드(Method)

클래스에서 실제 행동을 일으키는 코드 블록

동사 혹은 동사+명사의 형태로 네이밍

속성(Property)

클래스의 내부 데이터를 외부에서 접근할 때 사용

필드(Field)

클래스의 내부 데이터는 필드에 저장하게 되며, 필드들은 클래스 객체의 상태를 유지하는데 이용

같은 클래스로부터 생성된 여러 객체들은 다른 필드값을 가짐에 따라 서로 다른 객체 상태를 가지게 된다

접근제한자(Access Modifier)에 따라 외부 객체 혹은 상속 객체에서 보여질 수 있다

이벤트(Event)

객체 내부의 특정 상태나 어떤 일이 일어났다는 이벤트를 외부로 전달하는데 이용

정의

클래스 정의는 class라는 C#의 키워드를 사용한다

클래스와 클래스의 멤버들은 public, protected, private 등의 접근제한자에 따라 외부 객체로부터 접근이 허용될 수도 있고 제한될 수도 있다

public class User
{
    // 필드(Field)
    private string name;
    private int age;

    // 이벤트(Event)
    public event EventHandler NameChanged;

    public User()
    {
        name = string.Empty;
        age = -1;
    }

    // 속성(Property)
    public string Name
    {
        get { return this.name; }
        set
        {
            if (this.name != value)
            {
                this.name = value;
                if (NameChanged != null)
                {
                    NameChanged(this, EventArgs.Empty);
                }
            }
        }
    }

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

    // 메소드(Method)
    public string GetUserData()
    {
        string data = string.Format("Name: {0} (Age: {1})", this.Name, this.Age);
        return data;
    }
}

Partial 클래스

C# 2.0부터 지원

하나의 클래스를 2개 이상의 파일에 나누어 정의

Visual Studio에서 Windows Form을 만들면 자동으로 동일 클래스를 2개의 파일에 나누어 저장하고 partial class를 이용

public partial class Form1 { ... }

출처: http://www.csharpstudy.com/

profile
Backend Developer

0개의 댓글