본문으로 바로가기

[Ruby] 클래스와 인스턴스

category WEB/ROR 2018. 2. 22. 12:01


이제부터 루비 온 레일즈에 관한 내용을 포스팅하고자 한다.

이는 멋쟁이 사자처럼 6기 운영진 교육의 내용을 바탕으로 정리한 글이며,

추가적인 내용이 필요하다면 임의로 더 보태 포스팅할 것이다.



루비에서 클래스를 선언할 때는 'class 클래스명' 으로 선언한다.

함수를 선언할 때는 'def 함수명'으로 선언한다. 물론 둘 다 끝날 때는 end를 붙여야 한다.


루비의 클래스 내에는 initialize라는 함수를 만들 수 있는데, 이는 생성자의 역할을 한다.

객체를 생성할 때 초기에 받아오는 매개변수를 지정할 수 있는 것이다.


puts는 프린트문인데, 프린트문 내에서 변수를 표시하려면 '#{변수명}' 이런 식으로 해야 한다.


변수명 앞에 @를 붙이는 것은 인스턴스 안에 소속된 모든 함수 내에서 해당 변수를 사용할 수 있게 하기 위함이다.

@를 붙이지 않으면 해당 변수는 해당 함수 밖에서는 사용할 수 없다. 즉 @는 변수를 인스턴스 변수로 만드는 역할을 한다.


객체를 생성할 때는 객체명 = 클래스명.new()로 할 수 있으며,

initialize에 정해진 매개변수가 있을 경우 new 뒤의 괄호에 차례로 적어 넣어야 오류가 발생하지 않는다.

initialize가 없을 경우에는 괄호를 비워둔다.

'WEB > ROR' 카테고리의 다른 글

[Rails] REST API  (0) 2018.05.24
[Rails] CRUD  (0) 2018.05.24
[Ruby] attr_accessor  (0) 2018.02.22
[Ruby] public, private method  (0) 2018.02.22
[Ruby] 상속  (0) 2018.02.22