OOP (Object Oriented Programming)란?
객체 지향 프로그램을 말한다.
데이터 처리를 하는 메소드들을 하나의 프로그램으로 설계해서 연동하는 객체 (Object)를 중심으로
프로그램을 짜는 언어를 말한다.
python 은 대화적이고(Interactive) , 인터 프리팅(interpreted) 되는 객체 지향(object-oriented) 프로그래밍 언어이다.
파이썬은 모든 객체이다.
클래스와 객체란?
- 클래스는 객체지향 프로그램의 기본적인 사용자 정의 데이터형 (user define data type)이라고 할 수 있다.
- 클래스는 객체를 정의한 것으로 실세계에서 존재하는 사물이나 개념의 속성과 기능을 모델링해서 추상화 시키는
과정을 말한다.
- 객체는 자신 고유의 속성 (attribute) 을 가지며 클래스에서 정의한 행위 (behavior)를 수행할 수 있다.
- 객체의 행위는 클래스에 정의된 행위에 대한 정의를 공유함으로써 메모리를 경제적으로 사용한다.
- 객체는 클래스의 인스턴스이며 정의된 클래스를 사용해서 실제로 메모리에 생성되어 메모리에 로딩된 상태를 말한 다.
- 객체는 클래스의 타입으로 선언됬을 때를 의미하는 것이고 그 객체가 메모리에 할당되어 실제 사용될 때 인스턴스라 고 한다. (* 객체가 생성되어야 인스턴스가 됨)
ex)
그림판의 메뉴를 생각해보자. 동그라미를 메뉴에서 선택해서 작업화면에 동그라미 객체를 그려낸다.
이때 정해진 클래스(동그라미)의 여러개의 객체를 (Object) 생성하게 되는데 동그라미 객체들을 인스턴스 한다 라고
말한다.
객체 = 속성(Attributes) + 행위(behaviors) = 속성 + 기능
클래스 = 변수(Variable) + 메소드 (Methods) = 변수 + 메소드(기능)
def Test():
pass
class My():
def Test(selp):
pass
객체는 멤버 변수를 가지고 있으면서 그들의 동작을 수행하는 함수들을 가지게 되는데 메소드라고 부른다.
메소드는 객체를 사용하기 위해 필요한 모든 이벤트들을 처리하는 함수이다.
ex)
동그라미 → 속성, 행위(객체) → 코드(사용자자료형)=클래스 → 동그라미 그린다. 객체생성
자동차 → 속성 (색, 가격, 문갯수, 바퀴수 등) → 클래스 → 객체생성
행위 (연비, 속도, 출력, 정지, 출발, 대기 주차 등)
** 속성을 바꿀때 행위를 이용한다.
'|Playdata_study > Python' 카테고리의 다른 글
210428_클래스3 (0) | 2021.04.28 |
---|---|
210427_클래스 2 (0) | 2021.04.27 |
210426_함수2 (0) | 2021.04.26 |
210423_함수1 (0) | 2021.04.24 |
210423_제어문2 (흐름 제어문) (0) | 2021.04.24 |
댓글