[파이썬] 점프 투 파이썬 - 클래스

2021. 7. 4. 13:21공부한 내용/점프 투 파이썬

1. 클래스

1) 클래스와 객체

*클래스(Class): 똑같은 무엇인가를 계속해서 만들어 낼 수 있는 설계 도면

*객체(Object): 클래스로 만든 피조물

(ex) 과자 틀 - 클래스, 과자 틀을 이용해 만든 과자 - 객체

 

*클래스로 만든 객체의 특징

-객체마다 고유한 성격을 가짐

-동일한 클래스로 만든 객체들은 서로 전혀 영향을 주지 않음

 

2) 메서드(Method)

-클래스 안에 구현된 함수

-메서드도 클래스에 포함되어 있다는 점만 제외하면 일반 함수와 다를 것이 없음(def 키워드 이용해 구현)

 

*self 매개변수

-일반 함수와는 달리 메서드의 첫 번째 매개변수 self는 특별한 의미를 가짐

-메서드의 첫 번째 매개변수 self에는 헤당 메서드를 호출한 객체가 자동으로 전달됨

(따라서 따로 전달할 필요 없음)

 

3) 객체의 객체변수 특징

★클래스로 만든 객체의 객체변수는 다른 객체의 객체변수와 상관없이 독립적인 값을 유지함

(ex) a.first 와 b.first 두 값은 서로에게 영향을 주거나 받지 않고 원래 값을 유지함

 

4) 생성자(Constructor)

-객체가 생성될 때 자동으로 호출되는 메서드

-메서드 이름으로 __init__ 사용

-객체에 초기값을 설정해야 할 필요가 있을 때 생성자를 구현하는 것이 안전함

-객체 생성 시 생성자의 매개변수에 해당하는 값을 전달해야 함

 

5) 클래스 상속

*상속(Inheritance)
-'물려받다'라는 뜻

-어떤 클래스를 만들 때 다른 클래스의 기능을 물려받을 수 있게 만드는 것

-상속받은 클래스의 모든 기능을 사용할 수 있음

-문법: class 클래스 이름(상속한 클래스 이름)

 

6) 클래스 변수

-다른 객체들에 영향받지 않고 독립적으로 값을 유지하는 객체변수와는 다른 클래스 변수

-클래스 변수는 클래스 안에 변수를 선언하여 생성

-클래스로 만든 객체를 통해서도 클래스 변수 사용 가능

★클래스 변수는 클래스로 만든 모든 객체에 공유된다는 특징이 있음