티스토리 뷰

Coding

파이썬 기초 2-4장

Kim Da Beeen 2022. 5. 19. 13:15
반응형

1. 객체지향 프로그래밍

Point I
프로그래밍 방식의 전환! 프로그램이 객체 객체 상호작용이라면?

Point II
객체(Object) : 성질 할 수 있는 행동이 담긴 자료

2. 클래스와 인스턴스

Point I
클래스(Class) : 객체를 만들 수 있는 

에어컨이 가져야 할 속성 : 희망온도, 바람속도, ...
에어컨이 할 수 있는 행동 : 온도 높이기/낮추기, 바람속도 조절, ...

Point II
클래스 생성 : class 클래스이름:으로 생성

class Aircon: 
#Aircon 클래스를 생성

Point III
필드(field) : 객체가 가지고있는 성질  변수

class Aircon:
    temp = 20 #희망온도 변수
    wind_speed = 1 #바람속도 변수

Point IV
메서드(method) : 객체가 할 수 있는 행동  함수

class Aircon:
    def wind_speed_up(self): #바람속도를 증가시키는 함수
        self.wind_speed = self.wind_speed + 1

Point V
self: 메서드라면 가져야하는 첫 번째 매개변수
Q : 왜 self가 필요할까요?
A : self는 객체 자신을 의미하며, 메서드가 호출될 때 self 자리에 객체 자신을 인자에 넣습니다.

Point VI
인스턴스(Instance) : 객체를 만드는 틀(클래스)로 만든 객체

Point VII
인스턴스의 생성 : 인스턴스 이름 = 클래스 이름()

crystal = Aircon() 
#Aircon의 성질을 가진 객체 crystal 생성

Point VIII
인스턴스의 필드와 메서드 : 인스턴스.field/method 형태로 사용

crystal = Aircon()
print(crystal.temp) #20
print(crystal.wind_speed) #1

crystal.wind_speed_up() #메서드 호출
print(crystal.wind_speed) #2

3. 왜 객체지향 프로그래밍인가?

Point I
기존의 코딩스타일로는 표현할 수 없었던 상황을 표현 가능하게 해준다.

Point II
상속 : 한 클래스의 속성을 다른 클래스가 이어받는 것

class Tree:
    height = 0
    leaf_size = 0
...

class CherryBlossom(Tree): #Tree의 성질을 그대로 계승!
    height = 25 # 벚꽂나무에 맞게 값을 재조정
    leaf_size = 1

# 마치 부모와 자식처럼 코드를 관리 가능
# 현실 세계의 객체 구조와 유사

Point III
다형성 : 같은 이름의 코드가 다양한 역할을 하는 것

class CherryBlossom(Tree):
    height = 25
    leaf_size = 1

class Mugunghwa(Tree):
    height = 1
    leaf_size = 5

# 같은 height, leaf_size 변수가 있지만
# class마다 가지는 값이 다르다!
# 같은 이름으로 각 객체의 값을 관리할 수 있음

 

반응형

'Coding' 카테고리의 다른 글

데이터 분석 기초 1-2장  (0) 2022.05.22
데이터 분석 기초 1-1장  (0) 2022.05.19
파이썬 기초 2-3장  (0) 2022.05.17
파이썬 기초 2-2장  (0) 2022.05.17
파이썬 기초 2-1장  (0) 2022.05.16
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG more
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함