Notice
Recent Posts
Recent Comments
Link
«   2025/02   »
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
Archives
Today
Total
관리 메뉴

Code Habit

[Python] 클래스 본문

카테고리 없음

[Python] 클래스

코드베어 2021. 7. 22. 01:36

1. 클래스란 ?

 - 클래스는 객체지향 프로그래밍에서 특정 객체를 생성하기 위해 변수와 메소드를 정의하는 일종의 틀이다. 객체를 정의하기 위한 상태(변수)와 메서드(함수)로 이루어 진다.

 

2. 클래스 선언 및 사용

# 클래스 선언
class Person:
    pass

# 객체 생성
person = Person()

 

3. 생성자

 - 클래스 이름과 같은 함수를 '생성자'라고 부른다. 클래스 내부에 '__init__ 함수'를 만들어 생성자를 정의한다.

def __init__(self, 추가 매개변수):
    pass

첫번째 매개변수는 반드시 self를 입력해야 하고, self는 클래스 자기 자신을 의미한다고 보면 된다.

 

4. 소멸자

 - 객체가 소멸할때 소멸자가 호출된다. 클래스 내부에 '__del__ 함수'를 만들어 소멸자를 정의한다.

def __del__(self):
	pass

 

5. 메소드

 - 클래스 내부의 함수를 메소드라고 부른다. 메소드는 다음과 같이 정의한다.

def 메소드명(self, 추가 매개변수):
	pass

여기서도 self가 사용되는데 이 역시 클래스 자기 자신을 의미한다고 보면 된다.

 

6. private 변수 선언하기

 - 외부에서 클래스 내부의 변수에 함부로 접근하는 것을 막기위해 변수를 private로 정의할 수 있는데 변수 이름 앞에 '__'를 붙이면 private 변수로 정의된다.

class Private:
	def __init__(self, value):
        self.__value = value	# private 변수 선언 : __value

 

7. getter, setter

 - private로 선언된 변수에 접근하기 위해 클래스에서 해당 변수에 대한 getter, setter 함수를 제공할 수 있다.

class Private:
	def __init__(self, value):
    	# private 변수 선언 : __value
    	self.__value = value	
    
    # getter 선언
    def get_value(self):
    	return self.__value
    
    # setter 선언
    def set_value(self, value):
    	return self.__value = value

 

8. 상속

 - 상속이란 부모 클래스의 내용 및 기능을 자식 클래스에서 물려받아 공유하며 나아가 확장하는 개념이다.

class Parent:
	pass

# Parent 클래스 상속하는 Child 클래스 정의
class Child(Parent):
	pass