초기 상태
constructor는 인스턴스가 유효하게 시작하기 위한 필수 값을 받습니다.
constructor()
생성자, 인스턴스 속성, 접근 제어자, static 멤버를 한 번에 보면 클래스가 어떤 책임을 외부에 공개하는지 보입니다.
constructor는 인스턴스가 유효하게 시작하기 위한 필수 값을 받습니다.
constructor()
각 객체가 따로 가지는 속성과 메서드는 인스턴스 멤버로 둡니다.
user.name
public, private, protected로 외부에서 만질 수 있는 범위를 제한합니다.
private id
인스턴스 없이 공유되는 상수나 팩토리 메서드는 static으로 분리합니다.
User.create