객체 내부에 데이터를 캡슐화하는 작업에는 객체 생성 시 객체가 유효한 상태임을 확인하는 과정도 포함된다. 이를 위해 초기자를 정의한다. 클래스에 init()이라는 이름의 메서드가 있으면 객체가 생성될 때 자동으로 호출한다. 클래스에 전달된 매개변수는 모두 이 초기자로 넘어간다.

    class Breakfast {
      init(meat, bread) {
        this.meat = meat;
        this.bread = bread;
      }
    
      // ...
    }
    
    var baconAndToast = Breakfast("bacon", "toast");
    baconAndToast.serve("Dear Reader");
    // "Enjoy your bacon and toast, Dear Reader."
    
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.