Data/Python

Python, Class에 대하여

동동 2022. 1. 23. 19:59
728x90

Class는 왜 필요할까 ?

C언어는 클래스가 없다. 즉, 클래스 없이도 프로그래밍은 가능하다!

다만, Class를 알면 편리함이 늘어나니 예시를 통해 간단하게 알아보자.


 

계산기1, 2를 만든 상황

옆의 사진 처럼 계산기1, 계산기2를 만들어서 함수를 구현했다.


>>> print(계산기1(3))
3
>>> print(계산기1(4))
7
>>> print(계산기2(1))
1
>>> print(계산기2(2))
3


계산기는 올바르게 작동하지만 계산기가 3개, 5개, 10개 ...  점점 더 많이 필요해진다면 어떻게 해야할까?

이때 클래스를 활용하면 편리하다.

 

 class Calculator:

클래스를 활용하여 손쉽게 계산기를 n개씩 늘릴 수 있다.

만약 마이너스 기능이 필요하다면 아래 문구를 추가해주면 된다.

def sub(self, num):

    self.result -= num

    return self.result 


하나 팁을 드리자면 파이썬튜터(https://pythontutor.com/) 에서 코드 비쥬얼라이제이션 기능을 제공하니

나의 코드를 이미지화 하여 구경하면 좋다

 

클래스는 쉽게 말하면 달고나 만드는 금형 툴 이다.

순식간에 무언갈 똑같이 만들어 낼수 있는 것이고 여기서 만들어지는 달고나를 객체(object)*라고 한다.

* 객체 : 클래스로 만든 객체를 인스턴스라고도 한다.


* 추가 용어 정리

- CLASS 안에 구현된 함수는 다른 말로 매서드(Method)라고 부른다.

- 생성자(Construcotr) : 객체 초깃값을 설정할때 사용함. 보통 파이썬 매서드 '__init__' 으로 사용

- 클래스의 상속 : 어떤 클래스를 만들때 다른 클래스의 기능을 물려받을 수 있게 만드는 것 (기존 클래스를 변경하지 않고 기능을 추가하거나 기존 기능을 변경하려고 할때 사용함)

- 매서드 오버라이딩 : 부모 클래스(상속한 클래스)에서 있는 매서드를 동일한 이름으로 다시 만드는 것, 즉 덮어쓰기

728x90

'Data > Python' 카테고리의 다른 글

-1- Pandas(Series와 DataFrame 기본명령어)  (0) 2022.05.08