ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 2024 - 01 - 15 C++ Grammar D+1
    Language Grammar/C++ 2024. 1. 15. 18:06

    객체지향 프로그래밍(OOP)의 특징과 장단점

    특징 :

    1. 캡슐화
    표현하고자 하는 자료와 동작을 하나의 단위로 묶는 것이며, 이렇게 묶어 놓은 것을 객체라고 한다.
    대상의 특징을 나타내는 데이터와 이 데이터를 관리하는 함수가 항상 하나의 묶음으로 사용되므로 객체는 스스로 독립적이며 프로그램 부품으로 활용 될 수 있다.

    2. 정보 은폐
    객체는 자신의 상태를 기억하기 위한 속성과 속성을 관리하는 동작을 정의한다.
    이 중 외부에서 사용하는 기능만 공개되고 나머지는 숨길 수 있는데 이를 정보 은폐라고 한다.
    외부에서 객체의 상태를 마음대로 바꾸거나 허가되지 않은 동작을 요청하지 못하도록 함으로써 스스로의 안정성을 확보하는 수단이며,
    정보 은폐에 의해 객체는 더욱 견고하게 캡슐화된다.

    3. 추상화
    객체의 효율적이고도 안전한 사용을 위해 인터페이스를 설계하는 것이며 캡슐화와 정보 은폐에 의해 구현된다.
    추상화에 의해 외부에서는 객체의 인터페이스만 볼 수 있으며 내부 구현은 볼 수 없다.
    그래서 사용 방법이 간단 명료하고 외부의 조작에 대해 안전해지며 객체는 추상적인 인터페이스를 유지하는 한도내에서 숨겨진 내부 구현을 마음대로 수정할 수 있어 기능 개선이 쉬워진다. 개념화라고도 한다.

    4. 상속
    이미 만들어진 클래스를 파생시켜 새로운 클래스를 정의하는 기법
    파생된 클래스는 기존 클래스의 모든 속성과 동작을 물려받으며 여기에 더 필요한 기능을 추가하거나 필요없는 기능을 제거 또는 변경 가능

    5. 다형성
    똑같은 호출이라도 상황에 따라, 호출하는 객체에 따라 다른 동작을 할 수 있는 능력을 다형성이라고 함
    실제 내부 구현은 다르더라도 개념적으로 동일한 동작을 하는 함수를 하나의 인터페이스로 호출할 수 있으므로 객체들을 사용하는 코드를 일관되게 유지할 수 있다.
    동적 바인딩을 하는 가상 함수에 의해 구현됌





    절차가 아닌 데이터를 중심으로 개발하는 프로그래밍 방식
    스스로 에러를 체러하고 자신의 무결성을 지키는 기능을 가지며, 객체를 사용하기 위해 꼭 알아야 하는 것만 외부로 공개

    장점 : 

    재활용성이 높아 한번 잘 만들어 놓으면 수정없이 다른 프로젝트에도 사용가능하여 생산성 증가에 용이
    조립식이므로 개발용이성과 보수의 편리성 및 신뢰성이 뛰어남

    단점 :

    조립식이기 때문에 결과물의 성능이 맞춤형의 절차식에 비해 조금 떨어지는 단점이 있음

     

    참고사이트 : http://www.soen.kr/

     

    SoEn:소프트웨어 공학 연구소

     

    www.soen.kr

     

    'Language Grammar > C++' 카테고리의 다른 글

    2024 - 01 - 30 C++ Grammar D+6  (1) 2024.01.30
    2024 - 01 - 23 C++ Grammar D+5  (0) 2024.01.23
    2024 - 01 - 22 C++ Grammar D+4  (0) 2024.01.22
    2024 - 01 - 18 C++ Grammar D+3  (0) 2024.01.18
    2024 - 01 - 16 C++ Grammar D+2  (0) 2024.01.16
Designed by Tistory.