클래스

객체지향 프로그래밍의 핵심 개념

클래스 선언

class 클래스 이름 :
    # 클래스 변수
    count = 0

		# 생성자 함수
    def __init__(self, 추가적인 매개변수) :
        self.변수 = 초기값 또는 매개변수 전달
        self.__변수 # 프라이빗 변수
   
    # 메소드 = 클래스에서 사용하는 함수
    def 메소드 이름(self, 추가적인 매개변수) :
        수행할 내용
				return 값

		# 클래스 함수
		@classmethod :
		def 함수이름(cls, 추가적인 매개변수) :
# example
class Test : # 클래스명은 캐멀케이스
		def __init__(self) : # 생성자
				self.va1 = 10 # 속성
				self.__va2 = 20 # 프라이빗 변수

		def func_sum(self) : # 메소드
				return self.va1 + self.va2

		def func_va(self, a, b) : # 세터(setter), 내부 매개변수 간접 변경
				self.__va1 = a
				self.__va2 = b

test1 = Test() # 객체 만들어지고 속성, 메소드는 test1에 들어감, test1은 인스턴스

print(test1.va1) # 인스턴스.속성
print(test1.va2)
print(test1.func_sum()) # 인스턴스.메소드

test1.va1 = 100
test1.va2 = 200 # 프라이빗 변수여서 내부에서 변경이 되지 않음

print(test1.va1) # 100 출력
print(test1.va2) # 30 출력, 프라이빗 변수여서 변경 불가능

test1.func_va(100, 200) # 프라이빗 변수 변경
print(test1.func_sum()) # 300 출력

그래픽 사용 모듈 - turtle module

GUI 모듈 - tkinter module