더북(TheBook)

3.9.5 인스턴스화 및 초기화

동작만 있는 클래스는 그리 쓸모가 없다. 객체 지향 프로그래밍의 근간은 동작(behavior)과 상태(state)를 함께 캡슐화하는(encapsulate) 것이다. 그러자면 필드가 필요하다. 록스는 다른 동적 타입 언어처럼 객체에 프로퍼티를 자유로이 추가할 수 있다.

breakfast.meat = "sausage";
breakfast.bread = "sourdough";

필드에 값을 할당할 때 필드가 없으면 알아서 생성된다.

메서드 안에서 현재 객체의 필드나 메서드에 액세스하려면 this라는 오랜 친구를 사용한다.

class Breakfast {
  serve(who) {
    print "Enjoy your " + this.meat + " and " +
        this.bread + ", " + who + ".";
  }

  // ...
}
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.