AboutPython

[파이썬] 클래스와 객체 생성

scone 2022. 5. 3. 13:58

[클래스]

  • 클래스는 class 키워드와 속성(변수) 그리고 기능(함수)를 이용해서 만든다.
class Car :
    def __init__(self,col,len):      # self는 차
        self.color = col             # 차의 색깔 (속성)
        self.length = len            # 차의 길이 (속성)

    def do_stop(self):               # 정지하는 기능
        print('stop!!!!')
    def do_start(self):              # 전진하는 기능
        print('start!!!')
    def print_car_info(self):        # 자동차 속성 프린트
        print(self)
        print(f'self.color : {self.color}')
        print(f'self.length : {self.length}')
  • 객체는 클래스의 생성자를 호출한다.
car1 = Car('red',200)
car2 = Car('blue',300)

객체 Car() 을 호출해주면 눈에 보이지 않는 생성자가 호출되는데, 이때 생성자가 자동으로 내가 넣은 값을 __init__ 메소드를 호출해 전달해준다. __init__ 메소드를 통해 color라는 속성과 length 라는 속성을 초기화 할 수 있다.

빨간 색상의 길이 200인 차는 car1이라는 변수에 할당해, 이제 car1을 이용해 접근할 수 있다.

 

car1.print_car_info()
'''
<__main__.Car object at 0x000001DC65E7FB80>
self.color : red
self.length : 200
'''

 

car2.do_start()

 


[실습1] 비행기 클래스를 만들어보고 여러 비행기 객체를 만들어보자.

class Airplane :
    def __init__(self,color,length,weight):
        self.color = color
        self.length = length
        self.weight = weight
    def get_info(self):
        print(f'self.color : {self.color}')
        print(f'self.length : {self.length}')
        print(f'self.weight : {self.weight}')
    def do_depart(self):
        print('depaaaart!!!!!')
    def do_arrive(self):
        print('aaaaaarive!!!!!')

airplane1 = Airplane('red',500,1000)
airplane1.get_info()
airplane1.do_depart()
airplane1.do_arrive()
'''
self.color : red
self.length : 500
self.weight : 1000
depaaaart!!!!!
aaaaaarive!!!!!
'''