객체지향 프로그래밍:객체들 간의 [상호작용]을 통해 프로그램을 만든다. 캡슐화, 상속, 추상화, 다형성이라는 기본 개념이 있다.
캡슐화: 데이터의 속성, 기능을 하나의 객체 안에 넣어서 묶는 것. 또한 내부 데이터나 내부 구현이 외부로 노출되지 않도록 만드는 은닉화의 특징을 가진다.
추상화: 실제로 노출되는 부분을 단순하게 만든다는 개념. 클래스를 사용하는 사람이 필요하지 않은 메서드 등을 노출시키지 않고, 단순한 이름으로 정의하는 것이 중점.
상속: 부모 클래스의 특징을 자식 클래스가 물려받는 것. (부모/자식)
다형성: 같은 형태의 코드가 다른 역할을 하는 것