Borland, MS 가 property 를 표준에 넣기 위해서 제안을 한 것으로 아는데 그 뒤로 어떻게 되었는지 아시는분 있나요?
property, finally 가 표준에 있었으면 하는데... finally 는 C++제작자가 반대하는 키워드라서 채택될 가능성이 적어 보입니다.
property 가 얼마나 유용한 키워드인지 생각할수록 감탄을 하게 됩니다. 그런데, 어떤 사람들은 왜 쓰는지 모르겠다는 불평을 하기도 하더군요. 감춰져야 할 데이타가 밖으로 쉽게 노출된다고..
'정보의 은닉화'라는 표현이 묘한 어감을 주다 보니 데이타는 외부로 노출되면 안된다는 생각을 심어주는 것 같습니다. 심지어는 데이타를 암호화 해서 볼 수 없게 만드는것이 목적이냐는 질문도 나오고 있고 말이죠. 쓰기 편하라고 사용하는 것이지 모셔두고 아껴쓰라고 사용하는 아닌것 같은데요.
다음은 borand, MS 에서 제안한 방식입니다. read , write 를 사용해서 명확하게 표시한 borland 방식이 더 마음에 듭니다. 익숙해서 그런것 같기도 합니다.
표준 위원회가 은근히 고집센 면이 있어서 추가되지 않을 가능성도 있어 보이지만..
The borland proposal:
class my_foo {
public:
property foo { read getFoo, write setFoo };
private:
int getFoo() { return value; }
void setFoo(int v) { value = v}
int value;
};
microsoft proposal (derived from C#)
class my_bar {
public:
property int bar {
int get() { return value; }
void set(int v) { value = v; }
}
private:
int value;
}
|