OOP   Object Oriented Programming, Object Oriented Language   객체지향 프로그래밍, 객체지향 언어

(2015-02-10)
1. 객체지향 프로그래밍 (OOP)

  ㅇ 프로그램을 절차 및 데이터로 함께 묶은 객체들의 집합으로 구성
     - 각 객체는 동적으로 변할 수 있음
     - 객체 간에 서로 상호작용할 수 있도록 함

  ㅇ 한편, 객체지향 프로그래밍과 대비되는 것 => 절차식 프로그래밍 언어
     - 절차식프로그래밍언어함수(또는 프로시져)가 중심이되고, 데이터는 보조 기능을 함

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

 
2. 객체지향 프로그래밍 주요 특징추상화 (Abstraction)
     - 복잡한 실행 절차나 데이터를 하나로 묶어 단순화시키는 것
        . 데이터 추상화 (Data Abstraction) : 캡슐화, 정보은폐 등
        . 추상 클래스 (Abstract Class) 사용 등

  ㅇ 캡슐화 (Encapsulation) 
     - 데이터 및 메소드논리적으로 하나로 묶어놓는 것

  ㅇ 상속성 (Inheritance)
     - 코드의 재사용 및 효과적인 확장 능력

  ㅇ 다형태성 (Polymorphism)
     - 문맥에 따라 다른 형태나 동작을 할 수 있는 능력

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


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

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

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

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

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


[객체지향]1. 객체지향  2. 객체지향 프로그래밍  3. 메세지  4. 생성자  5. 오버라이딩  6. 오버로딩  7. 접근 제한 수식자  8. 추상 클래스  
  1.   기술공통
  2.   기초과학
  3.   파동/광학/음향
  4.   방송/멀티미디어/정보이론
  5.   전자/전기/제어
  6.   통신/네트워킹
  7.   정보기술(IT)
        1. 정보기술
    1.   전산기초
    2.   컴퓨터구조
    3.   프로그래밍
      1.   프로그래밍 언어론
      2.   객체지향
            1. 객체지향
            2. 객체지향 프로그래밍
            3. 메세지
            4. 생성자
            5. 오버라이딩
            6. 오버로딩
            7. 접근 제한 수식자
            8. 추상 클래스
        1.   객체,클래스,인스턴스
        2.   객체지향 원리/특징
        3.   객체지향 모델링
      3.   자료구조
      4.   알고리즘
      5.   자료표현(알파벳/코드)
      6.   시스템 프로그래밍
      7.   프로그래밍언어 종류
      8.   프로그래밍 기타일반
    4.   데이터베이스
    5.   소프트웨어 공학
    6.   운영체제
    7.   정보보호/보안
    8.   IT 기타기술
  8.   기계/재료/공업일반
  9.   표준/계측/품질
  10.   기술경영

 
        최근수정     모바일웹     참고문헌