객체지향 언어

IT 위키

현실 세계의 현상을 컴퓨터상에 객체(Object)로 모델화함으로써, 컴퓨터를 자연스러운 형태를 사용하여 여러 가지 문제를 해결할 수 있는 프로그래밍 언어

  • 절차적 언어에 비해 특히 유지보수성(Maintainability) 과 재사용성(Reusability) 우수
  • 종류 : Ada, Smalltalk, C++, Java 등

구성 요소[편집 | 원본 편집]

구성 요소 설명
객체(Object)
  • 데이터와 메소드로 구성
  • 데이터(Data) : 객체가 가지고 있는 정보로서, 속성(Attribute)이라고도 함
  • 메소드(Method) : 객체가 메시지를 받아 실행해야 할 구체적인 연산을 정의
클래스 (Class)
  • 코드작성의 기본 단위이며 객체들을 찍어낼 수 있는 설계도/템플릿 역할
메시지 (message)
  • 객체들 간의 상호작용을 위한 수단으로 사용되며, 메시지를 받은 객체는 메소드 수행

특징[편집 | 원본 편집]

  • 캡슐화(Encapsulation) : 데이터와 메소드를 클래스 하나로 묶어, 객체 내부에서 필요로 하는 정보를 외부로부터 은닉시키고, 매소드를 통한 접근을 제공한다.
  • 추상화(Abstraction) : 자료 추상화는 불필요한 정보는 숨기고 중요한 정보만을 표현함으로써 프로그램을 간단히 만드는 것이다.
  • 상속(Inheritance) : 이미 정의되어 있는 상위 클래스와 메소드를 비롯한 모든 속성을 하위 클래스가 물려받는 것이다
  • 다형성(Polymorphism) :다형성 개념이란 어떤 한 요소에 여러 개념을 넣어 놓는 것으로 일반적으로 오버라이딩(같은 이름의 메소드가 여러 클래스에서 다른 기능을 하는 것)이나 오버로딩(같은 이름의 메소드가 인자의 갯수나 자료형에 따라서 다른 기능을 하는 것)을 의미한다. 다형성 개념을 통해서 프로그램 안의 객체 간의 관계를 조직적으로 나타낼 수 있다.

참고 문헌[편집 | 원본 편집]