객체 지향 프로그래밍

14. 객체 지향 프로그래밍

객체(Object)는 프로그래밍에서 데이터와 그 데이터에 관련된 행동(함수 또는 메서드)을 하나로 묶은 단위입니다. 객체는 클래스의 인스턴스로, 클래스는 객체를 생성하기 위한 설계도 역할을 합니다. 객체는 속성(데이터)과 메서드(행동)를 가지며, 이 둘을 통해 객체는 특정 상태를 가지거나 행동을 수행할 수 있습니다. 예를 들어, ‘자동차’ 객체는 속성으로 ‘색상’, ‘모델’ 등을, 메서드로 ‘주행’, ‘정지’ 등을 가질 수 있습니다.

../../_images/13_00_1_objects.webp

Fig. 14.1 객체 지향 프로그래밍(OOP) 세계관에서는
이 세상에 존재하는 모든 것은 객체로 바라본다.
엄마도 객체, 아빠도 객체, 친구도 객체, …

객체지향 프로그래밍(OOP, Object Oriented Programming)은 객체를 중심으로 프로그램을 구성하는 프로그래밍 패러다임입니다. 특정 프로그래밍 언어를 말하는 것이 아니라, 객체지향 특성을 반영해서 코딩하는 것이 객체 지향 프로그래밍 입니다.

OOP의 핵심 개념은 캡슐화, 상속, 다형성, 추상화입니다. 캡슐화는 객체의 데이터를 보호하고 외부와의 인터페이스만을 제공하는 것이며, 상속은 기존 클래스를 바탕으로 새로운 클래스를 만드는 기능입니다. 다형성은 동일한 인터페이스를 통해 서로 다른 객체를 다룰 수 있게 하며, 추상화는 복잡한 시스템을 간단한 모델로 표현하는 것입니다. OOP는 코드의 재사용성을 높이고, 유지보수를 용이하게 하며, 복잡한 문제를 보다 논리적이고 직관적으로 해결할 수 있게 합니다.

객체지향 프로그래밍 언어는 객체지향 프로그래밍(OOP) 패러다임을 지원하는 프로그래밍 언어입니다. OOP는 데이터를 객체라는 단위로 묶고, 객체 간의 상호작용을 통해 프로그램을 설계하는 방식입니다. 객체는 상태를 나타내는 속성과 행동을 나타내는 메서드를 포함합니다.

대표적인 객체지향 프로그래밍 언어는 다음과 같습니다.

  1. Python: 쉽고 간결한 문법을 가진 객체지향 언어로, 다양한 라이브러리와 프레임워크를 통해 폭넓게 사용됩니다.

  2. Java: 강력한 객체지향 언어로, 플랫폼 독립성과 풍부한 라이브러리를 통해 대규모 애플리케이션 개발에 널리 사용됩니다.

  3. C++: C 언어에 객체지향 개념을 도입한 언어로, 시스템 소프트웨어와 게임 개발에 자주 사용됩니다.

  4. C#: 마이크로소프트가 개발한 객체지향 언어로, .NET 프레임워크와 함께 사용되어 다양한 윈도우 애플리케이션 개발에 활용됩니다.

우리는 파이썬을 통해 객체지향 프로그래밍의 세계가 어떤 것인지 공부하게 될 것입니다.

맨 위로 이동