사용자 정의 타입
설계도는 하나지만 생성되는 객체는 여러 개일 수 있습니다.
Car, fuelLevel, public, private을 나누어 보면 캡슐화가 왜 객체별 상태를 보호하는지 보입니다.
설계도는 하나지만 생성되는 객체는 여러 개일 수 있습니다.
myCar와 yourCar의 fuelLevel은 서로 다른 값으로 변할 수 있습니다.
잘못된 값이 들어오지 않도록 멤버 함수가 문지기 역할을 합니다.
필요한 동작만 공개하면 내부 표현을 나중에 바꾸기 쉽습니다.