전에 질문했다가 답을 못들어서 다시 질문합니다.
TStringlist 멤버중 commatext가 함수인지 변수인지 질문이었습니다.
물론 help상에서는 properties로 되어있긴 한데요.
정말 properties 라면
List 내용이 변경되었을때
commatext 내용이 어떻게 스스로 최신변경 상태를 담고 있는가 입니다.
예를 들면
Strs.Text:="asdf"; 라고 했다면
Strs.CommaText:="asdf"; 를 누가 언제 자동으로 지정해주느냐 입니다.
질문의 핵심은요..
Propertes 변경시 발생하는 이벤트같은게 있는가 해서요.
제가 임의로 만든 클래스의 멤버변수가 단순히 대입문으로 변경될때
다른 멤버변수도 자동으로 어떤 변경을 해줄수 있는가 입니다.
property는 변수도 아니고 함수(method)도 아닙니다. 두 가지 성질을 모두다 가질 수 있습니다.
property는 read, write란 specifier를 가지고 읽거나 쓸 때 여기에서 설정한 대로 작동을 합니다.
TStringList의 CommaText는 아래와 같이 선언되어 있습니다.
property CommaText: string read GetCommaText write SetCommaText;
위에서 보시는 것처럼 읽을 때는 GetCommaText 란 메소드가, 쓸 때는 SetCommaText란 메소드가 작업을 해서 님이 원하는 값을 얻을 수 있습니다.
멤버변수는 단순히 값을 저장만 하지만 속성(property)은 값을 쓰거나 읽을때 가공할 수가 있죠...
read, write다음에는 멤버변수, 멤버함수(method)모두 사용가능합니다.
read가 없으면 쓰기 전용, write가 없으면 읽기 전용으로 만들 수도 있습니다.
더 자세한 것은 책을 찾아보세요...
^^ 항상 즐코하세요..