본문 바로가기

파이썬 클래스4

[Python 기초] 파이썬 클래스 - 클래스 멤버(static) 와 접근제어자(public , private , getter , setter) 1 클래스 멤버 클래스 멤버란 클래스 변수, 클래스 메서드를 뜻한다. 이는 공유 변수, 공유 메서드이기도 하다. 해당 변수와 메서드는 변경되지 않고 정적이라는 의미로 static이라고도 한다. 클래스 멤버는 모든 인스턴스가 공유한다. 인스턴스 생성 이전에 이미 메모리 공간에 할당된다. 따라서 객체를 생성하지 않아도 접근이 가능하다. 접근방법 클래스명.메서드() @classmethod 를 앞에 붙여준다. # 클래스 변수(공유변수)와 인스턴스 변수 예제 1 2 3 4 5 6 7 8 9 10 11 12 class B: int1 = 0 # 클래스 변수 b1 = B() print("b1인스턴스",b1.int1) print("B클래스",B.int1) # 클래스 변수 # 인스턴스를 생성하지 않아도 메모리에 올라가있어.. 2021. 4. 5.
[Python 기초] 파이썬 클래스 - 오버라이딩 (overriding) 예전의 포스팅에서 클래스에대해 간단하게 설명하고 넘어갔었다. 클래스(객체)라는 것에 대해 완벽히 숙지하기 위해서 공부해야 할 것들이 많은데 그 중 하나가 오버라이딩이다. 또한 오버라이딩과 같이 붙어다니는 함수인 super() 함수도 있는데 그럼 오늘은 오버라이딩과 super() 함수에 대해서 공부해보자. 1 오버라이딩 부모로부터 받은 메서드 내용을 자식클래스에 맞게 내용 변경, 재정의 하는것이다. 오버라이딩 조건 부모클래스의 메서드명과 자식클래스의 메서드명이 동일해야 한다. 이를 예제를 통해 알아보자. # 동물 클래스 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 class Animal: def __init__(sel.. 2021. 4. 5.
[Python 기초] 파이썬 클래스 - 생성자와 소멸자 (Constructor and Destructor) 1 생성자 객체를 생성할 때 자동적으로 인스턴스 변수를 초기화하기 위해 호출되는 함수이다. 객체를 생성할 때 초기화를 위해 가장 먼저 실행된다. 생성자를 선언해주지 않아도 실행되며 기본적으로 모든 클래스가 생성자를 1개씩 갖고 있다. # 빈 클래스를 만들고 싶을 때 class A: A() # 에러 위와 같이 코드 작성시 에러가 발생하는 것을 볼 수 있다. # 따라서 다음과 같이 pass를 작성해준다. class A: pass A() # 정상적으로 작동 +plus pass : 실행 할 것이 아무 것도 없다는 것을 의미한다. 따라서 pass 를 만나게 되면 아무 동작을 하지 않고 다음 코드를 실행한다. ⊙ 기본 생성자 클래스가 작성할 때 컴파일러가 자동으로 생성해주는 함수이다. 형태는 다음과 같고 이는 생략.. 2021. 4. 3.
[Python 기초] 파이썬 클래스(class)와 인스턴스(instance) 1 클래스 (class) 객체를 정의해 놓은 것이다. 클래스의 용도는 객체의 생성이다. 객체 : 실제로 존재하는 사물 또는 개념을 의미한다. 객체의 용도는 객체의 속성과 기능에 따른다. 예를 들어 붕어빵과 붕어빵틀로 비유를 해보자면 클래스는 붕어빵틀이고 그에 따른 객체는 슈크림붕어빵, 팥붕어빵 등 으로 예를 들 수 있다. 클래스를 생성하면 생성된 클래스를 메모리에 할당하고 객체 생성, 인스턴스 생성 후 주소값을 반환한다. 클래스의 생성 방법 class 클래스명: 클래스 멤버1 클래스 멤버2 클래스 멤버3 ... ※ 위의 클래스 멤버로 들어갈 수 있는 것은 변수, 메서드(클래스 내에서 정의해 준 함수) 가 있다. 클래스 사용 방법 # main 클래스명() 메인 상에서 클래스명()으로 위에서 정의해준 클래스.. 2021. 4. 2.