파이썬 메서드에는 크게 3종류가 존재한다. 1. 인스턴스 메서드 (instance method) 2. 정적 메서드 (static method) 3. 클래스 메서드 (class method) instance method 가 가장 흔하게 쓰인다. instance method 의 변수에 접근하기 위해서 첫번째 파라미터에 반드시 self 라는 파라미터를 갖는다. 아래에서 set_name() 이 인스턴스 메서드에 해당한다. set_name() 은 여러 파라미터를 가질 수 있지만 첫번째는 반드시 self 를 갖는다. 클래스의 정의에서 메서드 밖에 존재하는 변수를 클래스변수(class variable)이라 하는데, 이는 해당 클래스를 사용하는 모두에게 공용으로 사용되는 변수다. 클래스변수는 클래스 안과 밖에서 '클래스명.변수명' 으로 접근할 수 있다. 인스턴스 변수 하나의 클래스로부터 여러 객체 인스턴스를 만들어 사용할 수 있다. 클래스 변수가 하나의 클래스에 단1개만 존재하는 반면, 인스턴스 변수는 각 객체 인스턴스마다 별도로 존재한다. 클래스의 정의에서 매서드 안에서 사용되면서 'self.변수명' 처럼 사용되는 변수를 인스턴스 변수(instance variable)라고 하며, 이는 각 객체별로 서로 다른값을 갖는 변수다. 인스턴스 변수는 클래스 내부에서는 self.name 과 같이 'self.'을 사용하여 엑세스하고, 클래스 밖에서는 '객체변수.인스턴스변수' 와 같이 엑세스 한다. 파이썬에서는 관례상, 내부적으로만 사용되는 변수나, 메서드는 그 이름 앞에 하나의 밑줄(_)를 붙인다. 만약 특정 변수명이나 메서드를 private로 만들어야한다면 두개의 밑줄(__)을 이름 앞에 붙이면 된다. 초기자 (initialize) 클래스로부터 새 객체를 생성할때마다 실행되는 특별한 메서드로 __init__() 이라는 메서드가 있는데, 이는 클래스로부터 객체를 만들때, 인스턴스 변수를 초기화하거나 객체의 초기 상태...