클래스 예시
class Person(object):
def __init__(self,name,age,height):
self.name = name
self.age = age
self.height = height
def change_height(self,new_height):
self.height = new_height
첫번째 줄은 클래스 예약어(class), 클래스 이름(Person), 상속받을 객체(object)로 이루어져 있다.
두번째 줄은 초기화 메서드를 선언하였는데, 이름은 __init__으로 고정되어 있다. 이를 통해 변수를 생성하고, 인스턴스를 만들때 변수를 설정할 수 있다.
초기화 메서드를 이용하지 않고도 변수를 생성할 수 있는데, 그렇게 생성한 변수는 해당 클래스에서 만든 모든 인스턴스가 같은 값을 가진다.
__init__처럼 특수한 기능을 가진 메서드는 매직 메서드라고 불리고 __main__, __str__, __add__ 등이 있다.
변수를 설정할 때 외부에서의 접근을 막고싶으면 변수명 앞에 __를 붙여서 private으로 선언할 수 있다.
def __init__(self,name,age,height):
self.__name = name
self.__age = age
self.__height = height
추가로 변수명 앞에 _를 붙이면 protected로 선언 가능하다.
ps. 파이썬에서 함수,변수명은 snake_case 처럼 작성하고 클래스명은 CamelCase처럼 작성한다.