ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [프로그래밍] 객체 지향 프로그래밍 OOP
    💡 개발 이슈와 해결/📚 채워나가는 IT 지식 2022. 2. 25. 16:29

     

    '객체 지향 프로그래밍' 많이 들어 봤고, 실무에 적용해서 사용도 해봤지만

    정작 설명을 하라고 하면 아직도 잘 못하겠더라고요... (자신감 하락)

    기억력이 좋지 않은 저와 객체 지향 프로그래밍을 배우시는에게 도움이 되었으면 하는 바람입니다.


    OOP 란?

    Object Oriented Programming의 약자로 직역하게 되면 '객체 지향 프로그래밍'을 뜻합니다.

     

    주어 동사 형태로 프로그래밍하는 것이라고 생각하시면 쉽습니다!

     

    OOP의 대표적인 특징

    OOP에는 4가지의 중요한 특징이 있습니다.

    1. 캡슐화 (Encapsulation)  
    2. 상속 (Inheritance)
    3. 추상 (Abstraction)
    4. 다형성 (Polymorphism)

     

    1. 캡슐화 (Encapsulation)

    캡슐화는 데이터와 기능을 하나의 객체로 묶는 것을 말합니다.

    (속성과 기능을 하나의 객체 안에 만드는 것)

    캡슐화의 특징

    • 은닉화(hiding) : 구현을 숨기고, 동작만을 노출.
    • 느슨한 결합(Loose Coupling) : 언제든 구현을 수정 할 수 있음.

     

    2. 상속 (Inheritance)

    상속성은 상위 클래스(부모 클래스)의 특징을 하위 클래스(자식 클래스)가 물려받는 것을 말합니다.

    상속의 특징

    • 재정의(Redefine) 불필요 : 상위 클래스에 정의된 속성과 메소드를 다시 정의 하지 않아도 됨.

     

    3. 추상 (Abstraction)

    어떠한 클래스를 상속받을때 그 안에 있는 함수를 모두 구현해야 하는 개념입니다.

     

    4. 다형성 (Polymorphism)

    어떤 하나의 변수명이나 함수명이 상황에 따라서 다르게 해석될 수 있는 것을 의미합니다.

    다형성은 어떤 한가지 기능을 의미하는 것이 아니라 개념이기 때문에 여러가지 방법으로 표현할 수 있습니다.

     

    객체지향에 대한 이해를 돕기위한 이미지

     

    참고하기 좋은 곳: 

    https://evan-moon.github.io/2019/08/24/what-is-object-oriented-programming/

    반응형

    댓글

Designed by Tistory & Awesome Soo © 2022 All rights reserved.