객체와 객체 지향 프로그래밍

Soobin Kim·2024년 3월 24일

공부

목록 보기
6/15

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

프로그램을 여러 객체로 구성하여 각 객체가 서로 상호작용하며 동작하는 프로그래밍 패러다임


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

  1. 코드 재사용성: 상속을 통해 기존 코드를 재사용하여 개발 시간을 단축할 수 있다.
  2. 유지보수의 용이성: 캡슐화를 통해 객체의 내부 구현을 숨기고, 인터페이스만을 통해 상호작용하여 코드 변경 시 영향을 최소화할 수 있다.
  3. 대규모 소프트웨어 개발에 적합: 클래스 단위로 모듈화하여 개발할 수 있어, 대규모 소프트웨어 개발 프로젝트에 적합하다.

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

  1. 캡슐화 (Encapsulation): 객체의 데이터(속성)와 그 데이터를 처리하는 메서드를 하나로 묶어 외부에서의 접근을 제한하며 정보 은닉을 실현한다.
  2. 상속 (Inheritance): 한 클래스가 다른 클래스의 속성과 메서드를 물려받아 사용할 수 있게 하는 기능으로, 코드 재사용성을 높이고 중복을 줄인다.
  3. 다형성 (Polymorphism): 같은 이름의 메서드가 다른 기능을 수행할 수 있도록 하여, 하나의 변수나 함수가 상황에 따라 다른 객체를 대표할 수 있다.
  4. 추상화 (Abstraction): 복잡한 실제 사물을 필수적인 개념으로 단순화시켜 표현하는 과정. 객체의 공통적인 속성과 행동을 추출하여 클래스를 정의하는 것이다.

객체

객체지향 프로그래밍에서 객체는 클래스의 인스턴스로, 클래스에서 정의한 것을 기반으로 메모리에 할당된 실체를 의미한다.

  • 객체는 실세계의 사물이나 개념을 모델링하는 데 사용되며, 속성과 메서드를 통해 그 특성과 행동을 정의한다.
  • 자료와 그 자료를 다루는 명령의 조합을 포함하여 메시지를 받고 처리하며, 다른 객체로 메시지를 보낼 수 있다. 객체지향 프로그래밍에서는 이러한 객체들의 상호작용을 통해 프로그램이 동작하게 한다.

객체의 구성 요소

  • 속성(Properties): 객체가 가지고 있는 데이터 또는 상태.
    • 예: '고양이' 객체의 이름, 품종, 나이, 무게 등
  • 메서드(Methods): 객체가 수행할 수 있는 행동이나 기능.
    • 예: '고양이' 객체의 경우, 울다(mew), 먹다(eat), 자다(sleep), 놀다(play) 등

객체 구성

  • 데이터: 객체의 상태를 나타내는 정보.
  • 이를 처리하는 함수 (메서드): 객체가 수행하는 행동이나 기능.

0개의 댓글