프로퍼티

00·2024년 12월 18일

C#

목록 보기
25/149

using System;

/*
프로퍼티: Get/Set 메소드를 대체함

프로퍼티 = 속성 ?
프로퍼티와 속성은 같은 의미.

'속성'은 한국어이고, '프로퍼티'는 영어(Property)입니다.
둘 다 객체 지향 프로그래밍에서 객체의 데이터에 접근하고 수정하기 위한 방법을 제공하는 멤버를 의미합니다.

C#에서는 프로퍼티를 get 접근자와 set 접근자를 사용하여 구현하며,
get 접근자는 프로퍼티 값을 읽어오는 데 사용되고,
set 접근자는 프로퍼티 값을 설정하는 데 사용됩니다.

프로퍼티를 사용하면 필드를 외부에서 직접 접근하지 못하도록 숨기고,
get 접근자와 set 접근자를 통해서만 접근하도록 제어할 수 있습니다.
이를 통해 데이터를 안전하게 관리하고 객체의 상태를 일관성 있게 유지할 수 있습니다.
*/

namespace Property
{
class BirthdayInfo
{
private string name; // 이름을 저장하는 private 필드
private DateTime birthday; // 생일을 저장하는 private 필드

    public string Name // name 필드에 접근하기 위한 public 속성
    {
        get // get 접근자: name 필드의 값을 읽어옴
        {
            return name;
        }
        set // set 접근자: name 필드에 값을 할당함
        {
            name = value;
        }
    }

    public DateTime Birthday // birthday 필드에 접근하기 위한 public 속성
    {
        get
        {
            return birthday; // birthday 필드의 값을 반환
        }
        set
        {
            birthday = value; // birthday 필드에 value 값을 할당
        }
    }

    public int Age // 나이를 계산하여 반환하는 public 속성
    {
        get
        {
            return new DateTime(DateTime.Now.Subtract(birthday).Ticks).Year; // 현재 날짜와 birthday 필드의 차이를 계산하여 나이를 반환
        }
    }
}
    }

}

class MainApp
{
    static void Main(string[] args)
    {
        BirthdayInfo birth = new BirthdayInfo(); // BirthdayInfo 클래스의 객체 birth 생성
        birth.Name = "서현"; // / Name 속성을 사용하여 이름 설정
        birth.Birthday = new DateTime(1991, 6, 28); // Birthday 속성을 사용하여 생일 설정

        Console.WriteLine("Name : {0}", birth.Name); // Name 속성 값 출력
    Console.WriteLine("Birthday : {0}", birth.Birthday.ToShortDateString()); // Birthday 속성 값 출력
    Console.WriteLine("Age : {0}", birth.Age); // Age 속성 값 출력
}
}

}

0개의 댓글