캡슐화는 정보를 은닉하기 위해 private로 선언하여 외부에서 접근을 불가능하게 합니다.
프로퍼티는 get 과 set을 사용하여 private으로 선언된 변수에 접근이 가능하도록 만듭니다.
객체의 프로퍼티는 두가지 종류가 있습니다
아래 접근 제한자로 수식하지 않은 멤버는 private로 지정됨
using System;
class Car
{
// Private 필드
private int speed;
// Public 프로퍼티를 통해 private 필드에 접근
public int Speed
{
get
{
return speed;
}
set
{
// 속도가 0 이상 200 이하인 경우에만 값을 설정
if (value >= 0 && value <= 200)
{
speed = value;
}
else
{
Console.WriteLine("속도는 0 이상 200 이하여야 합니다.");
}
}
}
// 메서드
public void Accelerate()
{
Speed += 10;
}
public void Decelerate()
{
Speed -= 10;
}
}
class Program
{
static void Main(string[] args)
{
Car myCar = new Car();
myCar.Speed = 50; // Speed 프로퍼티를 통해 speed 필드에 접근
Console.WriteLine("현재 속도: " + myCar.Speed);
myCar.Accelerate();
Console.WriteLine("가속 후 속도: " + myCar.Speed);
myCar.Speed = 300; // 무효한 값, 메시지 출력
}
}
C#에서는 private
, protected
, internal
, public
등의 접근 제한자를 사용해 구현할 수 있습니다.
윈도우 프로그래밍 개발에 도움이 됩니다.
get
접근자 : 필드 값을 반환합니다set
접근자 : 필드 값을 대입합니다class Person
{
private string age;
public string Age;
{
get { return age; }
set { age = value; }
}
}
자바스크립트는 값을 변경하거나 꺼내 쓸 때 장점을 가지고 있습니다
get
: 데이터를 꺼내쓰는 함수에 사용set
: 데이터를 변경하는 함수에 사용let 사람 = {
age : 30,
get nextAge(){
return this.age + 1
}
get setAge(나이){
this.age = parseInt(나이);
}
}
사람.setAge = '20';
사람.nextAge;