728x90

017. 객체지향 언어란 - 특징 -

 

 

출처 : 위키백과

 

기본 구성요소에 대해 알아봤다면, 각각의 특징에 대해서 알아보자

 

1.자료의 추상화


불필요한 정보는 숨기고 중요한 정보만 표현하여 프로그램을 간결화 하는 것

 

 - 자료 추상화를 통해 정의된 자료형을 추상 자료형이라 함

 - 객체지향 프로그래밍(OOP)에서 일반적으로,

     추상 자료형을 클래스

     추상 자료형의 인스턴스를 객체

     추상 자료형에서 정의된 연산을 메소드

             라고한다. 

 

2.상속

새로운 클래스가 기존 클래스의 데이터와 연산을 이어 받아 사용할 수 있게 하는 기능

상속받는 새 클래스를 부클래스, 파생 클래스, 하위클래스, 자식 클래스 등으로 부르며, 기존 클래스를 기반클래스, 상위 클래스, 부모 클래스 등으로 부른다. 

상속개념을 통해 상위 클래스에서 이어받은 하위 클래스를 이용해 필요에 따라 클래스 수정이나 클래스 간 종속 관계를 형성해 객체를 조직화 할 수 있다

 

 

3.다중 상속

클래스가 2개 이상의 클래스로부터 상속 받을 수 있는 기능

 클래스들의 기능이 동시에 필요할 때 사용하나 상속관계에 혼란을 줄 수 있으니 주의가 필요하고 언어마다 가능유무가 다르니 확인이 필요하다

 

4.다형성 개념

어떤 한 요소에 여러 개념을 넣어 놓는 것

 보통 오버라이딩이나 오버로딩을 의미한다

 - 오버라이딩 : 같은 이름의 메소드가 여러 클래스에서 다른 기능을 하는 것

 - 오버로딩 : 같은 이름의 메소드가 인자의 개수나 자료형에 따라서 다른 기능을 하는 것

 

5.동적 바인딩

실행 시간 중에 일어나거나 실행과정에서 변경될 수 있는 바인딩

바인딩 : 프로그램의 기본 단위에 해당 기본 단위가 가질 수 있는 속성 중에서 일부 필요한 속성만을 선택하여 연결해 주는 것

 ex) 변수를 구성하는 식별자(이름), 자료형 속성, 하나 이상의 주소(참조), 자료값에 구체적인 값을 확정하는 것

 

컴파일 시간에 완료되어 변하지 않는 정적 바인딩과는 반대 개념이다

 

 

728x90
반응형

+ Recent posts