파이썬 객체지향 연습(2)
예제로 이해하는 객체지향 문법 (class와 object)
원주 구하기
객체 생성 전에 미리 class를 선언해야 함
1. 클래스를 어떻게 만드니?
class 클래스이름:
attribute 선언
method 선언
1.1 attribute 선언
-
파이썬에서 attribute 는 attribute 값과 함께 선언이 일반적임
- 예: attribute1 = 0
-
생성자 메서드 init 의 인자를 활용해서 선언하는 방식이 보다 일반적임
-
예: init 의 인자 중 하나가 width 일 경우
-
init 메서드 안에서 self.attribute1 = width 로 attribute1 선언
-
1.2 method 선언
- class 안에서 def 메서드(self, …) 와 같은 방식으로 선언
예제
class Quad:
height = 0
width = 0
color = ''
def get_area(self):
return self.height * self.width
2. 클래스 선언
class circle(): #원주 계산 프로그램
diameter = 0 #지름
pi = 3.14
color = ''
name = 'circle'
def get_circumference(self, argument1, argument2): #인자가 없으면 self 입력
print(argument1, argument2)
return self.diameter * self.pi
3. 객체 생성
circle1 = circle()
circle2 = circle()
4. 객체 기능 호출
circle1.diameter = 10
circle1.color ='blue'
circle1.name = '파란 원'
circle2.diameter = 20
circle2.color ='yellow'
circle2.name ='노란 원'
print(circle1.diameter, circle2.diameter)
print(circle1.color, circle2.color)
print(circle1.name, circle2.name)
print(circle1.get_circumference(1, 2), circle2.get_circumference(3, 4)) #메소드 안에 argument 넣기
10 20 blue yellow 파란 원 노란 원 1 2 3 4 31.400000000000002 62.800000000000004
4X3(red), 5X5(blue), 7X4(brown) 세 개 객체를 만들고, 각각의 넓이 출력
quad1 = Quad()
quad1.height = 4
quad1.width = 3
quad1.color = 'red'
quad1.get_area()
12
quad2 = Quad()
quad2.height = 5
quad2.width = 5
quad2.color ='blue'
quad2.get_area()
25