본문 바로가기
개발/Python 초보 겅부

3일차 #파이썬 #객체지향과클래스 #클래스변수와인스턴스변수 #초기화와클래스인스턴스의생성

by 밥버검 2019. 1. 18.
반응형

파이썬 클래스


클래스 이름의 첫 글자는 대문자로 표시



파이썬 클래스 변수와 인스턴스 변수


  • 클래스 내부에서 선언할 수 있는 변수는 클래스 변수와 인스턴스 변수 두가지


  • 클래스 변수는 해당 클래스의 인스턴스 모두가 공유하는 변수 

    인스턴스 변수는 클래스로 생성한 인스턴스만의 변수


  • __init__() 파이썬 클래스의 생성자(Constructor) 

    클래스를 생성하고 초기화하는 순간 무언가 할 수 있도록 마련된 순서 


  • __init__()은 self를 파라미터로 전달하는데 이는 __init__()이 실행되는 시점에서 인스턴스 생성이 끝났다는것!?

    하여튼 self를 이용해 인스턴스 변수를 설정할 수 있음 


  • 클래스 변수는 클래스 모두가 공유하는 변수 이 변수를 바꾸면 해당 클래스의 인스턴스의 클래스 변수가 변경됨 




파이썬 초기화와 클래스 인스턴스의 생성


가이드 문서에 나오는거~



https://docs.python.org/2.0/ref/customization.html




파이썬 클래스 변수 사용

인스턴스 변수는 각 인스턴스에 종속된 변수 


모든 인스턴스가 클래스 변수를 공유하더라도 인스턴스 변수는 다름 





파이썬 클래스 메서드

클래스 내부의 함수는 메서드라 함 

클래스 메서드의 첫 번째 파라미터는 언제나 클래스 자신을 참조하는 변수인 self로 지정
이 변수는 외부에서 호출할 때 영향을 주지 않음 


매우 예외적인 사용 방법 -> 클래스 메서드에 전달하는 첫 번째 파라미터가 클래스 인스턴스 자기 자신이라는 걸 이용하는 호출 방법




인스턴스를 생성하지 않고도 해당 클래스의 메서드를 호출하도록 할수 있음 

self를 메서드의 파라미터로 추가하지 않는것




파이썬 상속

파이썬은 괄호안에 클래스 이름을 입력해 상속 받을 수 있음




파이썬 덕 타이핑







반응형

댓글