객체 지향 프로그래밍(OOP)은 컴퓨터 프로그래밍의 패러다임 중 하나이다. 객체 지향 프로그래밍은 여러 개의 독립된 단위, 객체들의 모임을 파악하고자 하는 것이다. 프로그램을 개발하는 기법으로 객체를 만들고 이들을 하나씩 조립, 연결하여 전체 프로그램을 완성하는 것이다. 프로그램을 유연하고 변경이 쉽게 만들기 때문에 대규모 소프트웨어 개발에 많이 사용된다. 객체지향 언어의 특징은 추상화, 캡슐화(정보은닉), 상속, 다형성 등이 있다. 추상화(Abstraction) 공통의 속성, 기능을 묶는 것 추상화는 추상클래스, 인터페이스를 통해 구현이 된다. 추상클래스는 클래스 내 추상메소드가 하나 이상 포함이 되거나 abstract로 정의된 경우, 인터페이스는 모든 메소드가 추상메소드인 경우를 말한다. 캡슐화(En..