반응형
Greensky0026
삽질러의 대환장 공사판
Greensky0026
전체 방문자
오늘
어제
  • 분류 전체보기 (241)
    • Language (56)
      • JAVA (13)
      • Swift (38)
      • Kotlin (4)
      • Dart (0)
      • PHP (0)
      • JavaScript (1)
    • IDE & Framework (92)
      • Spring (10)
      • Android (48)
      • iOS (8)
      • NodeJS (1)
      • CodeIgniter (3)
      • Flutter (1)
      • 분류중 (18)
    • Infra (8)
    • Database (12)
    • VCS (4)
    • Debug Log (34)
      • java (7)
      • swift (3)
      • Android (9)
      • Web (7)
      • 삽질기 (7)
    • Others (19)
      • 코딩테스트 풀이 (0)
      • IT 이야기 (18)
    • 쉼터 (2)
    • 개발공부 (14)
      • Network (1)
      • 자료구조와 알고리즘 (2)
      • Code design (8)
      • ETC (1)
      • 아카이브 (1)

블로그 메뉴

    공지사항

    • 프로그래머스 코딩 테스트 관련글 비공개 처리

    인기 글

    태그

    • level1
    • 프로그래밍
    • IT
    • 타입
    • 개발
    • kotlin
    • swfit
    • reduce
    • Java
    • 구축
    • 코딩테스트
    • 예제
    • ios
    • map
    • Android
    • swift
    • JSP
    • 공부
    • 프로그래머스
    • xcode

    최근 댓글

    최근 글

    티스토리

    hELLO · Designed By 정상우.
    Greensky0026

    삽질러의 대환장 공사판

    [이론]객체지향 프래그래밍(OOP) 이란?
    IDE & Framework

    [이론]객체지향 프래그래밍(OOP) 이란?

    2021. 3. 7. 23:38
    반응형

    객체지향의 대표적인 예

    Object-Oriented Orogramming, OOP

     

    개요

    C언어는 절차지향 프로그래밍으로써 프로세스가 함수단위로 순서대로 진행됩니다. 반면 OOP는 객체들의 유기적인 관계를 통해 프로세스가 진행됩니다. 애플리케이션은 객체의 집합이며, 객체들을 유기적으로 연결해 프로그래밍합니다.

     

     

    OOP의 기본 구성 요소

    • 클래스(Class)

      같은 종류의 집단에 속하는 속성과 행위를 정의

    • 객체 (Object)

      클래스의 인스턴스로써 상위클래스의 특징을 가지면서 개별적인 특성이 존재합니다.

    • 매서드(Method)

      클래스로부터 생성된 객체의 행위합니다.

     예를들자면, 사람이라는 클래스가 있다면 저는 사람이라는 클래스에 속합니다.

    거기에 저랑 똑같은 사람은 어디에도 존재하지 않으므로 저는 객체라고 할 수 있습니다.

    그리고 제가 하는 행위(밥을 먹거나, 공부를 하거나, 코딩을 하거나)들은 메서드라고 할 수 있습니다.

     

    OOP의 특징

    • 추상화

      객체들이 가진 공통특성을 파악해 제거하는 과정입니다.

      예를 들면, 조류라는 클래스에 속하는 객체들은 모두 날개가 있으므로, 클래스에 날개라는 특성을 기술하면 일일이 객체에 날개라는 특성을 기입하지 않아도 되죠.

    • 캡슐화

      캡슐화는 객체의 데이터를 함수를 통해서만 조작하고 외부에서는 직접 접근하지 못하게 하는 특성입니다. 정보은닉을 함으로써 오류를 줄여줍니다.

    • 상속

      클래스간 계층적 관계를 구성합니다. 자식 클래스가 부모 클래스의 기능을 받아 쓰는 것 입니다. 코드 재사용성을 높여 코드 중복제거에 크게 기여합니다.

    • 다형성

      형태가 같은데 다른 기능을 하는 것이 다형성입니다.

      부모 클래스로부터 상속을 받은 속성을 자식 클래스는 재정의 할 수 있습니다. 이를 오버라이딩이라고도 합니다. 이를 통해 속성을 사용하기 위한 인터페이스를 유지하고 불필요한 메서드 생성을 방지합니다.

    반응형

    'IDE & Framework' 카테고리의 다른 글

    [이론] 프로토콜 프로그래밍이란?  (0) 2021.03.07
    [이론] 함수형 프로그래밍이란?  (0) 2021.03.07
      'IDE & Framework' 카테고리의 다른 글
      • [이론] 프로토콜 프로그래밍이란?
      • [이론] 함수형 프로그래밍이란?
      Greensky0026
      Greensky0026
      점이 모여 선이 된다. 내 삽질도 언젠간 거대한 지하 도시가 되겠지!

      티스토리툴바