프로그래밍/Ruby

Ruby class의 멤버에 관한 이야기 2

seungdols 2015. 7. 28. 23:28


루비 클래스 멤버 이야기 2 시작합니다.

출처:생활코딩


이번에 설명하는 것은 클래스 변수라는 것입니다. 


사실 위 코드는 객체가 생성 되면, count 변수라는 녀석이 점점 증가 합니다. 


제가 3개의 객체를 생성 했으므로 총 3 이라는 숫자가 count 변수에 속하게 됩니다. 

그런데 어떻게 변수가 객체 생성 전에 있는 걸까요 ? 

그건 @@ 기호로 정의 되어 클래스 변수이기 때문이죠. 


객체 생성 이전에 count 변수는 미리 로드 됩니다. 


자바, C 기타 언어들에서 지원하는 static과 같습니다. 


다른 언어를 해보셨다면, 금방 아실거라 생각합니다. 


그리고 지난 번에 배웠던 클래스 메소드가 있네요 ? ^^ 


get 메소드형태인데, 루비 언어는 자체적으로 모든 변수(멤버변수, 클래스 변수)는 


private 성질을 가지므로, get/set 메소드가 필수!입니다.


메소드의 경우 기본 접근자는 public 입니다만, initailze()인 생성자의 경우 private입니다.


그리고 루비의 private의 경우 Java와는 다르게 단일 객체 내에서만 접근 가능 합니다.



반응형

'프로그래밍 > Ruby' 카테고리의 다른 글

Block vs Closure 차이  (0) 2015.11.20
Ruby에서 Module 사용하기  (0) 2015.08.14
Ruby class의 멤버에 관한 이야기 1  (0) 2015.07.28
Ruby 에서 Block 표현식 사용 이야기  (0) 2015.07.25
Ruby 언어의 생략 이야기  (0) 2015.07.25