현재 또는 기본객체를 가리킨다.
클래스 안에서 쓰면 현재 클래스를 말하고,
메서드 안에서 쓰면 현재의 메서드를 사용하고 있는 객체를 말함.
특히 클래스 메서드를 표현할 때 많이 쓰인다.
형태
def self.find -> 클래스 메서드 / def find -> 인스턴스 메서드
class User def self.find가 있다고 하면 클래스명.메서드명(User.find)로 호출이 가능함.
하지만 self가 없는 인스턴스 메서드는 u = User.new(유저 인스턴스 생성) 후에 u.find가능.
반대로 클래스 함수를 인스턴스 객체에서 호출하려고 하면 NoMethodError남. User.find만 가능.
그렇다면 인스턴스 메소드는 어떨때 사용하는가? 특정 인스턴스에 의존적인 때에 사용.
ex) get/set처럼 instance attr과 관련된 함수
'Web development > Ruby' 카테고리의 다른 글
[Ruby] 함수를 동적으로 실행하기 (0) | 2019.06.18 |
---|---|
[Ruby] 인스턴스 변수 (0) | 2019.06.18 |
[Ruby] 생성자(Constructor) (0) | 2019.06.18 |
[Ruby] symbol과 string의 차이점 (0) | 2019.06.18 |
call by value vs call by reference (0) | 2019.01.14 |
댓글