객체 지향 프로그래밍

HanHyuk·2023년 12월 25일

객체 지향 프로그래밍

  • 컴퓨터 프로그래밍 패러다임 중 하나
  • 프로그램을 객체(Object)라고 하는 독립적인 모듈로 나누고 이러한 객체들 간의 상호작용을 통해 소프트웨어를 설계하고 구현하는 방법론

객체(Object)

  • 현실 세계의 개념이나 사물을 모델링한 소프트웨어 구성 요소
  • 데이터와 데이터를 처리하는 메서드(함수)로 이루어져 있음

클래스(Class)

  • 객체를 생성하기 위한 템플릿 또는 설계도 역할
  • 객체 = 클래스 기반으로 생성된 인스턴스
  • 클래스로 구분하는 이유
    - 모듈화와 추상화를 통해 프로그램을 관리 가능한 작은 독립적인 단위로 분할하고 단순화 시킬 뿐 아니라 코드의 이해가 쉽고 유지보수가 용이해짐

캡슐화(Encapsulation)

  • 데이터와 그 데이터를 처리하는 메서드를 하나의 단위로 묶는 것
  • 객체 내부의 데이터는 외부에서 직접 접근할 수 없으며, 메서드를 통해서만 데이터에 접근 가능
  • 데이터의 은닉성과 보안 강화를 위해 사용

상속(Inheritance)

  • 이미 존재하는 클래스를 기반으로 새로운 클래스를 정의하는 메커니즘
  • 코드의 재사용이 가능하고 부모 클래스의 특성과 메서드를 자식 클래스에서 확장하거나 수정 가능

다형성(Polymorphism)

  • 같은 인터페이스를 가진 객체들이 다른 방식으로 동작할 수 있는 능력
  • 여러 객체가 동일한 메서드 이름을 사용하더라도 다른 구현을 제공할 수 있으며, 코드의 유연성과 확장성을 높일 수 있음
profile
선한 영향력을 펼치는 개발자가 되겠습니다.

0개의 댓글