Please Enable JavaScript!
Mohon Aktifkan Javascript![ Enable JavaScript ]

객체 지향 프로그램( Object-oriented programming)

2010. 6. 22. 15:53programming/terms

728x90

OOP (object-oriented programming) ; 객체지향 프로그래밍

객체지향 프로그래밍(이하 줄여서 'OOP'라 칭함)은 컴퓨터 프로그램의 개발을 완전히 새로운 시각으로 바라다보는 혁명적 개념이라 할 수 있는데, 동작보다는 객체, 논리보다는 자료를 바탕으로 구성된다. 프로그램은 전통적으로 논리적인 수행 즉, 입력을 받아 처리한 다음, 결과를 내는 것이라는 생각이 지배적이었다. 또한 프로그래밍을 한다는 것은 어떻게 자료를 정의할까 보다는 어떻게 논리를 써나가는 것인가로 간주되었다.

그러나 OOP는 프로그램에서 정말 중요한 것이 논리보다는 오히려 다루고자 하는 객체라는 시각에서 접근하고 있다. 객체의 예로는, 사람(이름, 주소 등으로 묘사되는)에서부터 건물까지, 그리고 상품 판매를 위한 매장(특성이 서술되고 다뤄질 수 있는)에서부터 컴퓨터 바탕화면의 아주 작은 요소인 버튼이나 스크롤바 같은 것들까지를 모두 망라한다.

OOP에서의 첫 단계는 다루고자 하는 모든 객체와, 그것들이 서로 어떤 연관성이 있는지를 식별하는 - 흔히 데이터 모델링이라고 부르는 - 작업이다. 일단 모든 객체를 식별했으면, 객체 클래스로 일반화하고 (플라톤의 "이상적" 의자 개념이 모든 의자를 대표한다고 생각하는 식으로), 그것이 담고 있는 데이터의 종류와 그것을 다룰 수 있는 모든 논리 순서를 정의한다.

논리 순서는 메쏘드라고 부르며, 클래스의 실제 인스턴스를 하나의 "객체"라 하거나, 어떤 상황에서는 하나의 "클래스 활성체"라 한다. 객체 또는 활성체는 컴퓨터 내에서 실제로 수행되는 것이다. 메쏘드는 컴퓨터 명령어를 규정하고, 클래스 객체의 특성은 관련 데이터를 규정한다.

OOP에 사용된 개념과 규칙은 다음과 같은 중요한 이점을 제공한다.

  • 데이터 클래스 개념은 일부 또는 모든 주 클래스 특성을 공유하는 데이터 객체의 부 클래스를 정의할 수 있게 한다. 상속이라 불리는 이 OOP 특성은 면밀한 자료 분석과 개발시간 단축, 그리고 좀더 정확한 코딩을 보증하는 효과가 있다.
  • 클래스는 단지 관련된 데이터만 정의하기 때문에, 그 클래스의 인스턴스가 수행될 때 다른 프로그램에서 사용하는 데이터를 (우연이라도) 건드릴 수 없게 된다. 이런 자료 숨김 특성은 높은 시스템 보안을 제공하고, 의도하지 않은 자료의 훼손을 방지한다.
  • 클래스의 정의는 최초로 생성한 프로그램뿐 아니라 다른 OOP에 의해 재사용될 수 있다 (그리고, 이런 이유로 네트웍에 쉽게 분산 사용된다).
  • 데이터 클래스 개념은 언어에 정의되지 않은 새로운 데이터 형식을 프로그래머가 임의로 정의할 수 있게 한다.

Smalltalk는 최초의 객체지향 프로그래밍 언어 중 하나이며, C++Java는 최근 가장 인기있는 객체지향 프로그래밍 언어이다. C++의 부분집합이라고 할수 있는 Java는 특히 기업이나 인터넷의 분산 응용프로그램에 사용되도록 설계되었다.

출처 : http://www.terms.co.kr/OOP.htm

728x90

'programming > terms' 카테고리의 다른 글

객체지향 _ 객체, 클래스, 인스턴스  (0) 2010.05.19
자바 charAt(0)  (0) 2010.03.30
서블릿(Servlet)  (0) 2010.03.26
지역 변수 와 멤버 변수  (0) 2010.03.25
오버플로우(Overflow)  (0) 2010.03.25