객체지향 프로그래밍
캡슐화
객체의 상태를 나타내는 데이터와 메서드의 묶음
외부에서 데이터 직접 접근 불가, 메서드를 통해서만 접근가능하도록 함
상속
클래스에서 정의된 속성 & 메서드를 다른 클래스가 상속받아 사용할 수 있게 하는 것
다형성
하나의 인터페이스나 메서드가 다양한 형태로 동작하도록 하는 것
추상화