OOP   Object Oriented Programming   객체지향 프로그래밍

(2025-03-03)

Object Oriented Language, 객체지향 언어


1. 객체지향 프로그래밍 (OOP)객체들 간에 상호작용을 기반으로 한 프로그램 개발 방법론
     - 프로그램을, `절차 및 데이터`로 함께 묶은 객체들의 집합으로 구성
     - 이때, 각 객체는 동적으로 변할 수 있음

  ㅇ 객체지향 프로그래밍을 지원하는 언어 例
     -  C++,  C#,  Java,  Objective-C,  Ada95,  SmallTalk 등


2. 절차식 프로그래밍, 객체지향 프로그래밍 비교                        ☞ 프로그래밍 패러다임 참조객체지향 프로그래밍절차식 프로그래밍은, 서로 대비가 됨

  ㅇ 절차식 프로그래밍은,
     - 함수(또는 프로시져)가 중심이되고, 데이터는 보조 기능을 함
        . 이때의 프로그래밍은, 함수 따로 데이터 따로 분리된 형태로 다루어야 함

  ㅇ 객체지향 프로그래밍은,
     - 함수가 아닌 객체가 중심이 되어, 절차와 데이터를 함께 묶음
        . 행위/기능/함수 보다는 객체 중심
        . 논리 보다는 데이터를 지향 함 
           .. 공통의 자료구조를 함께 사용하는,
           .. 서로 밀접하게 관련된 여러 함수(메소드)들로 엮어짐

     * 특히, 규모가 큰 소프트웨어를 개발할 때 효율적임
        . 코드 재사용이 용이하며, 디버깅이 쉬운 반면에,
        . 절차식 보다는 느리고, 설계가 비교적 어려움

 
3. 객체지향 프로그래밍의 주요 특징추상화 (Abstraction)    : 모델링의 기초가 됨
     - 복잡한 실행 절차(메소드)나 데이터논리적으로 하나로 묶어, 단순화/추상화시키는 것
        . 데이터 추상화 (Data Abstraction) : 캡슐화, 정보은폐 등
        . 추상 클래스 (Abstract Class) 사용 등

  ㅇ 캡슐화 (Encapsulation)  : 정보 은닉
     - 복잡함을 감추고, 상호 영향을 작게하는 것

  ㅇ 상속성 (Inheritance)    : 재사용/확장 능력 제고
     - 코드의 재사용(reuse) 및 효과적인 확장(extend)
        . 기존에 작성된 클래스속성을 물려받아 새로운 클래스를 만들어냄
 
  ㅇ 다형태성 (Polymorphism) : 사용 편의성이 좋아짐
     - 같은 코드문맥에 따라 다른 형태나 동작을 할 수 있음
        . [참고] ☞ 오버로딩 오버라이딩 비교 참조

  ㅇ 동적 바인딩 (Dynamic Binding)
     - 실행 중간에도 연결된 속성 변경이 가능


4. 객체지향 프로그래밍의 주요 구성 단위클래스 (Class)
     - 비슷한 특성을 가진 객체들의 모델링 (그룹화시키는 틀, 캡슐화한 것)

  ㅇ 객체 (Object)
     - 속성을 가지며 특정한 작업을 수행할 수 있도록 설계된 것

  ㅇ 인스턴스 (Instance)
     - 만일 객체(Object)가 값을 갖을 경우 보통 인스턴스(Instance)라고 함

  ㅇ 속성 (Attribute)
     - 객체와 관련된 특성이나 변수 같은 것

  ㅇ 메소드 (Method)
     - 객체에 대해 수행할 수 있는 작업/조작 (객체 외부와의 상호작용을 메소드를 통해 수행)

  ㅇ 연산 (Operation) 
     - 객체 자신을 바꾸거나, 외부적으로 바꿈의 효과가 나타나는 것

프로그래밍 방법론
1. 프로그래밍 기법   2. 구조적 프로그래밍   3. 명령형 프로그래밍   4. 객체지향 프로그래밍   5. 함수형 프로그래밍   6. 프로그램 제어  
객체지향 프로그래밍
1. 객체지향   2. 객체지향 프로그래밍   3. 메세지   4. 생성자   5. 접근 제한 수식자   6. 추상 클래스   7. 인터페이스   8.
객체,클래스,인스턴스
  9.
객체지향 원리/특징
  10.
다형태성
  11.
객체지향 모델링
 


"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"
     [정보통신기술용어해설]       편집·운영 ( 차재복, 건강 문제로 휴식중 )
[프로그래밍 방법론]1. 프로그래밍 기법   2. 구조적 프로그래밍   3. 명령형 프로그래밍   4. 객체지향 프로그래밍   5. 함수형 프로그래밍   6. 프로그램 제어  

[객체지향 프로그래밍]1. 객체지향   2. 객체지향 프로그래밍   3. 메세지   4. 생성자   5. 접근 제한 수식자   6. 추상 클래스   7. 인터페이스   8. [객체,클래스,인스턴스]   9. [객체지향 원리/특징]   10. [다형태성]   11. [객체지향 모델링]  

  1. Top (분류 펼침)      :     1,604개 분류    6,618건 해설