객체 지향 프로그래밍 언어

위키원
125.141.56.15 (토론)님의 2018년 7월 17일 (화) 16:39 판 (새 문서: '''객체 지향 프로그래밍'''(Object-Oriented Programming,OOP)은 컴퓨터 프로그램을 객체라는 기본 단위로 나누고 각각의 객체가 메시지를 주...)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)
이동: 둘러보기, 검색

객체 지향 프로그래밍(Object-Oriented Programming,OOP)은 컴퓨터 프로그램을 객체라는 기본 단위로 나누고 각각의 객체가 메시지를 주고받으며 데이터를 처리하는 비절차적 프로그래밍 언어이다.

역사

초기 프로그래밍 방식인절차적 프로그래밍 방식은 입력을 받아 명시된 순서대로 처리한 다음 그 결과를 내는 언어로, 조금만 복잡해져도 다른 사람이 보고 이해하기 어려울 정도로 어려워져 유지보수가 어려운 단점이 있다. 절차적 프로그래밍 방식을 보완하기 위해 1960년 조한 달크리스틴시뮬라67을 발표했다. 이어서 팰러액토 연구소의 스몰토크,미 국방성에이다등이 만들어졌다. 이후 AT&T벨 연구소C++, 1990년대 중반 이후로 각광받고 있는 썬 마이크로시스템즈자바(Java)가 만들어졌다.

기본 구성 요소

  • 객체(Object) - 객체는 데이터와 그에 관련되는 동작(절차,방법,기능)을 모두 포함한 인스턴스이다.
  • 클래스(Class) - 같은 종류의 집단에 속하는 속성, 오퍼레이션, 관계 등을 갖고 있는 객체들의 집합이다.
  • 메소드(Method) - 클래스 내부에 정의된 객체가 수행해야할 오퍼레이션으로, 기존의 프로그래밍 언어에서의 함수와 대응된다.

특징

캡슐화

프로그램의 실제 구현내용을 외부로 드러나지 않도록 특정 모듈(클래스) 내부로 은닉하는 것이다.

상속

자식 클래스가 부모 클래스의 특성과 기능을 그대로 물려받음으로써, 캡슐화 및 재사용이 용이하도록 해준다.

다형성

하나의 변수명이 상황에 따라 다른 의미로 해석될 수 있는 것으로 일반적으로 오버라이딩, 오버로딩을 의미한다.

객체지향언어