1. 클래스와 메서드 만들기
파이썬에서, 클래스는 객체의 뼈대를 제공하는 코드 블록입니다. 클래스를 통해 객체를 만들며, 이렇게 만들어진 객체를 인스턴스라고 부릅니다.
class MyClass:
def hello(self):
return "Hello, Python!"
위 예제에서 `MyClass`는 클래스명이며, `hello`라는 메서드를 가지고 있습니다. `self`는 현재 인스턴스를 참조하는 데 사용되는 첫 번째 인수입니다.
2. 속성 사용하기
속성은 클래스나 인스턴스에 속하는 변수입니다. 인스턴스 속성은 `__init__` 메서드에서 초기화하며, 각 인스턴스마다 고유한 값을 가집니다.
class MyClass:
def __init__(self, name):
self.name = name
def hello(self):
return f"Hello, {self.name}!"
위 예제에서 `name`은 `MyClass`의 인스턴스 속성입니다.
3. 메서드에서 속성 사용하기
클래스 내부의 메서드에서는 `self`를 통해 인스턴스 속성에 접근할 수 있습니다. 이렇게 하면 각 인스턴스의 상태를 유지하고 조작할 수 있습니다.
class MyClass:
def __init__(self, name):
self.name = name
def rename(self, new_name):
self.name = new_name
return self.name
위 예제의 `rename` 메서드에서는 `self.name` 속성을 변경하고 있습니다.
4. 비공개 속성 사용하기
파이썬에서는 속성 앞에 두 개의 언더스코어(`__`)를 붙이면 비공개 속성(private attribute)이 됩니다. 비공개 속성은 클래스 외부에서 접근할 수 없으며, 클래스 내부에서만 사용할 수 있습니다.
class MyClass:
def __init__(self, name):
self.__name = name
def rename(self, new_name):
self.__name = new_name
return self.__name
def hello(self):
return f"Hello, {self.__name}!"
위 예제에서 `__name`은 비공개 속성이며, `rename` 메서드와 `hello` 메서드 내부에서만 접근할 수 있습니다.
5. 결론
이 포스팅에서는 파이썬의 클래스와 메서드 생성, 속성 사용, 그리고 비공개 속성 사용에 대해 배웠습니다. 클래스는 객체 지향 프로그래밍의 핵심적인 요소로, 코드의 재사용성과 구조화에 도움이 됩니다. 비공개 속성은 클래스의 내부 데이터를 안전하게 보호하는 데 필요한 도구로서, 외부에서의 직접적인 접근을 제한합니다.
'IT > Python' 카테고리의 다른 글
Python 프로그래밍: 클래스 속성과 정적, 클래스 메서드 사용하기 (0) | 2023.05.22 |
---|---|
Python 프로그래밍: 클로저 사용하기 (0) | 2023.05.22 |
Python 프로그래밍: 람다 표현식 사용하기 (0) | 2023.05.21 |
Python 프로그래밍: 함수에서 재귀 호출 사용하기 (0) | 2023.05.21 |
Python 프로그래밍: 함수 위치 인수와 키워드 인수 사용하기 (0) | 2023.05.21 |