개발/c#

C# get,set // 프로퍼티

N. Dave 2020. 5. 20. 16:26
반응형

 

객체지향프로그래밍에서 흔히들, 프로퍼티는 private로 설정해야 한다는 얘기를 들어본적이 있을 것이다.

내부적인 값을 외부에 공개하면 여러 리스크들이 존재할 수 있기 때문이다.

 

그래서 흔히 해당 프로퍼티의 값을 return하는 메소드를 만들고,

해당 프로퍼티의 값을 설정하는 메소드를 만들어두기도 한다.

 

그런데 이렇게 되면 최소한 프로퍼티의 수 x 2개의 메소드가 필요하다.

'최소한'..

 

너무 불편하다. 

 

그래서 get, set이라는 것이 존재한다

getter와 setter라고도 한다.

 

프로퍼티를 설정할 때 곧바로 get, set을 설정할 수 있다.

 

 

public class Computer
{
   int x { get { return  x }  set { x = value } }       
}

이렇게 getter와 setter를 설정할 수 있다.

포인트를 짚어보자면,

1) int x 뒤에 ;를 사용하지 않았다. 자주 있을 수 있는 문법상 오류..

2) 프로퍼티 뒤에 { }로 get와 set을 묶었고, get과 set 사이에는 다른 표시가 필요하지 않다. , 라든지 ; 라든지

3) get은 값을 가져오라는 뜻이므로, return을 통해 어떻게 값을 내어줄지 표시해야하며

4) set은 설정하는 값인데, 설정된 값은 value 변수에 자동으로 할당된다. (value라는 변수를 선언하지 않아도 된다. 알아서 설정된다)

 

 

 

 

 

 

 

 

 

 

 

 

반응형