객체지향 프로그래밍 OOP, Object Oriented programming
# 객체지향 프로그래밍
* 객체지향 프로그래밍
: 자바, c++은 객체지향 프로그래밍 언어 / 파이썬은 내부적으로 객체지향이며 객체지향 문법 지원
* 객체의 개념
(1) 사물을 나타낼 수 있는 설계도를 만든다. = class
(2) 설계도를 기반으로 객체들을 만든다. = object, 인스턴스
(3) 각 객체에 속성값을 부여하고 기능을 호출한다. = attribute, 필드 / method
# 1. class
* 클래스란
: 현실 세계의 사물을 컴퓨터 안에서 구현하려고 고안된 설계도와 같은 개념으로,
사물과 사물의 속성, 기능을 구현
⇒ 사물(객체, 인스턴스) / 속성(attribute, 필드) / 기능(method 메서드)
자동차 색상, 종류, 속도 엑셀 밟기, 브레이크 밟기
* class 선언하기 ) class 클래스명 :
속성(필드) 선언 _ 속성명 = ~~~
메서드 선언 _ def 메서드명 (self, 인자1, 인자2, ...)
인자 포함 실행문
return self.속성명
↳ 메서드에 self를 쓰는 것은 메서드 안에서 속성에 접근하기 위해!
메서드 안에서 속성에 접근하지 않는다면 쓰지 않아도 됨
ex. def print_message() :
print("메세지 출력")
class Car :
speed = 0
color = ''
def upSpeed(self, value) :
self.speed = self.speed + value
# 2. 객체(인스턴스)
* 객체란
: 자동차 설계도에 따라 여러 대를 생산하는 것처럼
설계도인 class를 기반으로 여러 객체가 존재하며, 각 객체가 별도로 속성(필드), 메서드를 가짐
* 객체 생성하기 ) 객체명1 = class명()
객체명2 = class명()
mycar1 = Car()
mycar2 = Car()
# 3. 속성(필드)값
* 속성(필드)값
: 각 객체(인스턴스)마다 별도의 필드가 있으니, 별도의 값 부여해주기
* 속성값 부여하기 ) 객체명1.속성명 = ~~~
객체명2.속성명 = ~~~
mycar1.speed = 10
mycar1.color = 'blue'
mycar2.speed = 20
mycar2.color = 'black'
# 4. 메서드
* 메서드 호출하기 ) 객체명1.메서드명() or 객체명1.메서드명(인자)
mycar1.upSpeed(30)
print(mycar1.color , mycar1.speed)
mycar2.upSpeed(50)
print(mycar2.color , mycar2.speed)
blue 40
black 70
파이썬 라이브러리
# 라이브러리
* 라이브러리란 : 미리 만들어놓은 함수 집합
* 다양한 라이브러리 : https://docs.python.org/3/library/
# 사용법
1. 라이브러리 호출 후 내부 함수 쓰기 ) import 라이브러리명
라이브러리명.함수명(인자)
2. 라이브러리의 함수 호출하기 ) from 라이브러리명 import 함수명
함수명(인자) _ 라이브러리명 안 써도 된다는 장점
3. 라이브러리의 모든 함수를 호출 ) from 라이브러리명 import *
함수명(인자)
4. 라이브러리나 함수에 별칭 부여 ) import 라이브러리명 as 별칭
or from 라이브러리명 import 함수명 as 별칭
'파이썬 > 기본 문법' 카테고리의 다른 글
[파이썬 기본] 데이터 구조 : 튜플, 딕셔너리, 집합 (0) | 2022.07.28 |
---|---|
[파이썬 기본] 함수 (0) | 2022.07.28 |
[파이썬 기본] 반복문 (0) | 2022.07.28 |
[파이썬 기본] 조건문 (0) | 2022.07.26 |
[파이썬 기본] 리스트 (0) | 2022.07.23 |