class basics

클래스 공개 범위 설계

생성자, 인스턴스 속성, 접근 제어자, static 멤버를 한 번에 보면 클래스가 어떤 책임을 외부에 공개하는지 보입니다.

생성자

초기 상태

constructor는 인스턴스가 유효하게 시작하기 위한 필수 값을 받습니다.

constructor()
인스턴스 멤버

객체별 값

각 객체가 따로 가지는 속성과 메서드는 인스턴스 멤버로 둡니다.

user.name
접근 제어

사용 경계

public, private, protected로 외부에서 만질 수 있는 범위를 제한합니다.

private id
static 멤버

클래스 규칙

인스턴스 없이 공유되는 상수나 팩토리 메서드는 static으로 분리합니다.

User.create