2011년 6월 2일 목요일

Inheritance and Mixins

Inheritance and Mixins

Song객체의 인스턴스 변수 @name, @artist, @duration은 객체에 private하다. 즉 자신을 제외한 다른 객체는 이객체의 인스턴스 변수에 접근할수 없다. 만일 접근할수 있게 하기위해서는 아래와 같이 접근할수 있는 메서드를 만들어주면된다.
class Song
 def name
   @name
 end
 def artist
   @artist
 end
 def duration
   @duration
 end
end
aSong = Song.new("Bicylops", "Fleck", 260)
aSong.artist»"Fleck"
aSong.name»"Bicylops"
aSong.duration»260



위의 name 메서드는 @name을 반환한다. 이와 같이 관용구 형태처럼 사용되기 때문에 attr_reader를 이용하여 접근 메서드를 자동으로 만들수 있다.
class Song
 attr_reader :name, :artist, :duration
end
aSong = Song.new("Bicylops", "Fleck", 260)
aSong.artist»"Fleck"
aSong.name»"Bicylops"
aSong.duration»260


위에서 :name이라고 쓰면 @name에 접근할수 있는 메서드가 자동으로 만들어진다.

댓글 없음:

댓글 쓰기

ETL 솔루션 환경

ETL 솔루션 환경 하둡은 대용량 데이터를 값싸고 빠르게 분석할 수 있는 길을 만들어줬다. 통계분석 엔진인 “R”역시 하둡 못지 않게 관심을 받고 있다. 빅데이터 역시 데이터라는 점을 볼때 분산처리와 분석 그 이전에 데이터 품질 등 데이...