class/object

클래스와 객체

Car, fuelLevel, public, private을 나누어 보면 캡슐화가 왜 객체별 상태를 보호하는지 보입니다.

class

사용자 정의 타입

설계도는 하나지만 생성되는 객체는 여러 개일 수 있습니다.

object

객체별 멤버 저장

myCar와 yourCar의 fuelLevel은 서로 다른 값으로 변할 수 있습니다.

private

클래스 내부 상태 보호

잘못된 값이 들어오지 않도록 멤버 함수가 문지기 역할을 합니다.

public

외부 코드가 사용할 약속된 인터페이스만 드러냅니다

필요한 동작만 공개하면 내부 표현을 나중에 바꾸기 쉽습니다.

설계도 클래스 이름은 타입 이름이 되고 객체 생성 문장의 기준이 됩니다.
상태 멤버 변수는 객체마다 따로 보관되어 서로 영향을 덜 줍니다.
캡슐화 접근 지정자는 사용할 수 있는 이름과 숨겨야 할 이름을 가릅니다.