017. 객체지향 언어(OOP, Object-Oriented Programming)란? - 기본 구성 요소 -
일단 구성요소에 대해 알아보기 전에 객체지향(Object-Oriented)에 대해 한번 알아보자.
객체지향이라는 개념이 나타나기 이전의 프로그래밍 방법에서는 사람이 컴퓨터에게 프로그램이 뭘하고 그 다음에 뭘하고 명령을 주는 식으로 컴퓨터가 하는 일을 하나씩 알려주기 바빴다고 한다. 그러나 객체지향 프로그래밍(OOP)이 등장하고부터 프로그램을 작성할 대상이 되는 실제 세계의 사물(객체)을 그대로 표현하고, 그것들이 어떻게 움직이는지 정해주고 나서 그 객체들에게 일을 시킨다고 한다.
객체지향 프로그래밍을 잘 사용하면 보다 좋은 프로그램을 빨리 만들 수 있고, 나중에 수정하기도 편해진다고 하며, 프로그래밍 언어들이 모두 객체지향적인 것은 아니지만 요즘에 주로 사용되는 것들은 객체지향을 제공하는 것이 많다고 합니다. 객체지향을 개념을 몰라도 간단한 프로그램을 짤 수 있지만, 윈도우나 복잡한 프로그램을 짤 때는 큰 도움이 된다고 한다.
(출처:https://wikidocs.net/84)
파이썬은 객체지향적 언어라고 한다. 다만 데이터분석이나 통계 쪽으로 많이 활용되고 있어
객체 간의 작용하는 프로그래밍보다는 사용자정의 함수들을 많이쓰므로 그리 느껴지지 않을 수 있다고한다.
이제 '객체지향(Object-Oriented) 언어'가 무엇인지 이해하기 위해서는 먼저 기본 구성요소를 알아보자
객체지향 언어의 3가지 기본 구성요소는
클래스(class), 객체(object), 메소드(method)이다
1.클래스(class)
같은 타입의 그룹에 속하는 속성(attribute)과 동작(behavior)을 정의한 것
2.객체(object)
클래스의 인스턴스가 실제로 메모리에 할당된 것
- 클래스에서 정의된 내용을 실행하며 객체 자체의 속성을 가지고 있다
3.메소드(method)
클래스로부터 생성된 객체를 사용하는 방법
- 객체의 속성을 조작하는데 사용되며, 객체간의 통신은 메세지를 통해 이루어진다.
*개념 자체들이 한마디로 정의되기 어렵고, 내용이 복잡하고 방대하여 일단 간단하게 다루고
추후에 차차 계속 다뤄보기로 하자. 기초튼튼하게!!
'Python > review of learning' 카테고리의 다른 글
[Python] 018. 출력 : 파일 쓰기 - 하나씩 해본 것들 (0) | 2021.09.25 |
---|---|
[Python] 017. 객체지향 언어란 - 특징 - (0) | 2021.09.24 |
[Python] 016. 객체란? (0) | 2021.09.03 |
[Python] 015. 함수 filter, lambda (0) | 2021.08.25 |
[Python] 014. error message - list is not callable (0) | 2021.08.25 |