OOP(Object Oriented Programming)
- 객체지향 프로그램. 데이터 처리를 하는 메소드들을 하나의 프로그램으로 설계해서 연동하는 객체(Object)를 중심으로 프로그램을 짜는 언어를 뜻한다.
- 파이썬은 대화적(Interactive), 인터프리팅(Interpreted)인 객체지향(Object-Oriented) 프로그램이다.
- 파이썬은 모든것이 객체이다.
- 3대특징 : 캡슐화, 다형성, 상속성
클래스와 객체(Class & Object)
- 클래스는 객체 지향 프로그램이다.
- 객체는 자신의 고유의 속성을 가지며, 클래스에서 정의한 행위를 할 수 있다.
- 객체의 행위는 클래스에 정의된 행위에 대한 정의를 공유함으로써 메모리를 경제적으로 사용한다.
- 객체는 클래스의 인스턴스이며 정의된 클래스를 사용해서 실제로 메모리에 생성되어 메모리에 로딩된 상태를 말한다.
- 객체는 클래스의 타입으로 선언됬을 때를 의미하고 그 객체가 메모리에 할당되어 실제로 사용될 때 인스턴스라 한다.
ex) 그림판을 생각해보자, 동그라미를 메뉴에서 선택해서, 작업화면에 동그라미라는 '객체'를 그린다. 이 떄 정해둔 동그라미(클래스)의 여러개의 '객체(동그라미를 그리는 것)'를 생성하게 되는데. 동그라미 객체들을 '인스턴스(화면에 올라온 동그라미)'라고 말한다.
객체 : 속성 + 행위
클래스 : 변수 + 메소드
ex) 자동차 : 속성(색깔, 가격, 문 갯수, 바퀴 수, 핸들 등... 고정되어있는 것들) + 행위(연비, 출력, 속도, 정지, 출발, 급발진 등... 변동 가능한 것들)
객체는 멤버변수를 가지고 있으면서 그들의 동작을 수행하는 함수들을 가지게 되는데 이를 메소드라한다.
메소드는 객체를 사용하기 위해 필요한 모든 이벤트들을 처리하는 함수이다.
ex) 동그라미 -> 속성+행위 -> 코드(사용자 자료형) = 클래스 -> 동그라미를 그린다.
Class Name |
변수 영역 |
메서드 영역 |
'IT > Python' 카테고리의 다른 글
파이썬 기본 개요 - 상속, 다향성 (0) | 2021.04.28 |
---|---|
파이썬 기본 개요 - 클래스(Class) 2 (0) | 2021.04.27 |
파이썬 기본 개요 - 함수(2), 람다함수 (0) | 2021.04.26 |
파이썬 기본 개요 - 함수의 개념 (0) | 2021.04.23 |
파이썬 기본 개요 - 제어문 (0) | 2021.04.22 |