[TIL] 객체지향 프로그래밍 OOP

Manta·2024년 9월 26일
1

TIL

목록 보기
12/19

객체 지향 프로그래밍(Object-Oriented Programming, OOP)

컴퓨터 프로그램을 어떤 데이터를 입력받아 순서대로 처리하고 결과를 도출하는 명령어들의 목록으로 보는 시각에서 벗어나 여러 독립적인 부품들의 조합, 즉 객체들의 유기적인 협력과 결합으로 파악하고자 하는 컴퓨터 프로그래밍의 패러다임을 의미합니다.

객체 지향 프로그래밍의 장점

  1. 프로그램을 보다 유연하고 변경이 용이하게 만들 수 있다는 점
  2. 코드의 변경을 최소화하고 유지보수를 하는 데 유리
  3. 코드의 재사용을 통해 반복적인 코드를 최소화하고, 코드를 최대한 간결하게 표현
  4. 인간 친화적이고 직관적인 코드

객체 지향 프로그래밍의 4가지 특징

  • 추상화(Abstration)

    객체 지향 프로그래밍에서 의미하는 추상화는 객체의 공통적인 속성과 기능을 추출하여 정의하는것을 의미합니다.

  • 상속(Inheritance)

    상속은 클래스 간 공유될 수 있는 속성과 기능들을 상위 클래스로 추상화 시켜 해당 상위 클래스로부터 확장된 여러 개의 하위 클래스들이 모두 상위 클래스의 속성과 기능들을 간편하게 사용할 수 있도록 합니다.

  • 다형성

    어떤 객체의 속성이나 기능이 그 맥락에 따라 다른 역할을 수행할수 있는 객체 지향의 특성을 의미합니다. 대표적인 예로 우리가 앞서 본 메서드 오버라이딩과 메서드 오버로딩(method overloading)이 있습니다.

  • 캡슐화(Encapsulation)

    캡슐화란 클래스 안에 서로 연관있는 속성과 기능들을 하나의 캡슐(capsule)로 만들어 데이터를 외부로부터 보호하는 것을 말합니다.

profile
공부할게 너무 만타🫠

0개의 댓글