객체지향 프로그래밍(Object-Oriented Programming)
: 클래스(Class)를 생성하고 클래스로부터 객체(Object)를 만들어 객체 간의 상호작용을 이용하여 주어진 문제를 해결하는 프로그래밍 방식
Class(클래스):Object(객체):추상화(Abstraction): 불필요한 세부사항이나 기능들을 숨기고, 중요하고 필요한 부분만 간결하고 이해하기 쉬운 클래스로 만드는 작업캡슐화(Encapsulation)상속(Inheritance): 말그대로 상위 클래스의 특성을 하위 클래스가 물려받을 수 있어, 상속을 받게되면 공통특성을 하위 클래스에서 반복적으로 기술할 필요가 없기 때문에 중복을 줄여 재사용성의 효과다형성(Polymorphism): 같은 인터페이스를 통해 다른 타입의 객체에 접근가능