Small Grey Outline Pointer python :: 객체 지향 프로그래밍
본문 바로가기
Dev./Python

python :: 객체 지향 프로그래밍

by sso. 2022. 7. 14.

객체 지향 프로그래밍(Object Oriented Programing)

 

절차지향 : C

객체지향 : Java C# C++

프로토타입 객체지향 : JavaScript

 

 

클래스와 객체

자동차 설계도 <클래스>

설계도 기반으로 만들어진 실제 자동차 <객체>

 

 

 

객체 이전의 프로그램

# %% test 01
fa_age =20 #아빠 나이 정보, 현재 20살
def up_fa_age():# 이 함수를 호출하면 아빠 나이 올라감
    global fa_age
    fa_age += 1
def get_fa_age(): # 이 함수 호출하면 아빠 나이 반환 함
    return fa_age

def main():
    print("2022년...")
    print("아빠:", get_fa_age())
    print("2023년...")
    up_fa_age() #아빠 나이 1살 증가
    print("아빠:", get_fa_age())

main()

2022년...
아빠: 20
2023년...
아빠: 21

 

 


 

 

# %% test 01
class AgeInfo: #클래스 AgeInfo의 정의
    def up_age(self): #클래스 안에 담긴 up_age 함수
        self.age += 1
    def get_age(self): #클래스 안에 담긴 get_age 함수
        return self.age


def main():
    fa=AgeInfo() #AgeInfo 객체 생성
    fa.age=20 #fa에 저장된 객체의 변수 age를 20에 저장
    print("현재 아빠 나이...")
    print("아빠:", fa.get_age()) #get_age 호출할 때 self에 값 전달하지 않음
    print("1년뒤")
    fa.up_age() #up_age 호출 할 때 self에 값 전달 하지 않음
    print("아빠:", fa.get_age()) #get_age 호출 할 때 self에 값 전달 하지 않음

main()

 

현재 아빠 나이...
아빠: 20
1년뒤
아빠: 21

 

 

 

 

728x90

'Dev. > Python' 카테고리의 다른 글

Python :: 생성자 (초기화 메소드)  (0) 2022.07.19
Python :: 클래스와 객체  (0) 2022.07.19
python :: 전역변수와 지역변수  (0) 2022.07.14
python :: Dictionary 딕셔너리  (0) 2022.07.12
python :: 모듈  (0) 2022.07.05

댓글