Skip to content

객체 지향 프로그래밍 (OOP)

객체 지향 프로그래밍 vs 절차 지향 프로그래밍

객체 지향 프로그래밍 (Object-Oriented Programming)

프로그램 구현에 필요한 객체를 파악하고 각각의 객체들의 역할이 무엇인지를 정의하여 객체들 간의 상호작용을 통해 프로그램을 만드는 것

절차 지향 프로그래밍 (Procedural Programming)

순차적인 처리가 중요시 되며 프로그램 전체가 유기적으로 연결되도록 만드는 프로그래밍 기법 절차지향 프로그래밍은 오로지 컴퓨터 관점에서의 프로그래밍 패러다임이라면 객체지향은 인간이 구분할 수 있는 요소를 객체로 표현한 인간 중심적 프로그래밍 패러다임이다.

객체 지향 프로그래밍의 특징

객체는 기억장소와 이 기억장소의 값을 변경할 수 있는 연산의 집합이 정의되면 객체를 선언할 수 있다.

많은 객체 지향 언어에서 객체는 클래스로 그룹화 된다.

생성된 클래스로 객체의 특정 예를 생성하는데 이를 인스턴스라고 부른다.

객체 간의 정보 교환이 모두 메시지 교환을 통해 일어난다.

객체 지향 프로그래밍은 4가지 특징을 가진다.

  • 추상화 : 공통된 특성을 파악하고 불필요한 특성은 제거한다.
  • 캡슐화 : 객체는 상태와 동작을 가지며 객체 스스로 상태를 책임지도록 한다.
  • 상속성 : 상위 객체를 상속 받을 수 있도록 한다.
  • 다형성 : 동일한 요청에 다른 방식으로 처리할 수 있도록 한다.