Tags
- 650d
- CS231n
- 사진
- 전주
- 대만
- 제주도
- ai_엔지니어링
- 도쿄
- Python
- 글로벌소프트웨어캠퍼스
- 우리에프아이에스
- 건담
- 군산
- 맛집
- 전시
- SQL
- fdr-x3000
- 시청
- 축복렌즈
- 17-55
- 오사카
- 해리포터
- 수요미식회
- 여행
- 우리fisa
- 축복이
- 카페
- 우리fis아카데미
- 대만여행
- k-디지털트레이닝
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
29 | 30 | 31 |
- Today
- Total
Recent Posts
300x250
브렌쏭의 Veritas_Garage
[우리FISA] Python Class 본문
'윈도우키' + ';' or '윈도우키' + '.' 으로 로그에 이모지를 넣으면 보기 쉽다.
'윈도우키' + 'v' 로 클립보드에 있는 내용을 확인 가능
Python Class
- 클래스는 객체를 만들기 위한 틀이다.
class 클래스이름:
def __init__(self, 매개변수1, 매개변수2):
self.속성1 = 매개변수1
self.속성2 = 매개변수2
Static Method & Class Method
- 클래스 메서드는 클래스 변수를 사용할 수 있다.
- 정적 메서드는 클래스 변수를 사용할 수 없다.
class 클래스이름:
@staticmethod
def 메서드이름(매개변수1, 매개변수2):
pass
@classmethod
def 메서드이름(cls, 매개변수1, 매개변수2):
pass
- 정적 메서드는 클래스나 인스턴스의 상태를 변화시키지 않는 메서드를 만들 때 사용한다.
Encapsulation :: 캡슐화
- 클래스를 만들 때 속성과 메서드를 캡슐화하여 외부에서 속성을 직접 변경하지 못하도록 한다.
- 은닉성 : 속성을 외부에서 직접 변경하지 못하도록 하는 것
- 캡슐화 : 속성과 메서드를 하나로 묶어 외부에서 속성을 변경하지 못하도록 하는 것
_
: 속성이나 메서드 이름 앞에 언더바를 하나 붙이면 외부에서 접근할 수 없다.
class 클래스이름:
def __init__(self, 매개변수1, 매개변수2):
self._속성1 = 매개변수1
self._속성2 = 매개변수2
def _메서드이름(self):
pass
Polymorphism :: 다형성
- 다형성은 상속 관계에 있는 클래스에서 같은 이름의 메서드를 호출할 때 각각 다르게 동작하도록 하는 것이다.
class 부모클래스이름:
def 메서드이름(self):
pass
class 자식클래스이름(부모클래스이름):
def 메서드이름(self):
pass
getter & setter
- getter : 속성값을 가져오는 메서드
- setter : 속성값을 설정하는 메서드
class 클래스이름:
def __init__(self, 매개변수1, 매개변수2):
self.__속성1 = 매개변수1
self.__속성2 = 매개변수2
def get_속성1(self):
return self.__속성1
def set_속성1(self, 매개변수):
self.__속성1 = 매개변수
property : getter와 setter를 사용할 때 사용하는 데코레이터
class 클래스이름:
def __init__(self, 매개변수1, 매개변수2):
self.__속성1 = 매개변수1
self.__속성2 = 매개변수2
@property
def 속성1(self):
return self.__속성1
@속성1.setter
def 속성1(self, 매개변수):
self.__속성1 = 매개변수
Overriding :: 오버라이딩
- 부모 클래스의 메서드를 자식 클래스에서 재정의하는 것
class 부모클래스이름:
def 메서드이름(self):
pass
class 자식클래스이름(부모클래스이름):
def 메서드이름(self):
pass
Inheritance :: 상속
- 상속은 부모 클래스의 속성과 메서드를 그대로 이어받아 사용할 수 있다.
class 부모클래스이름:
def __init__(self, 매개변수1, 매개변수2):
self.속성1 = 매개변수1
self.속성2 = 매개변수2
def 메서드이름(self):
pass
class 자식클래스이름(부모클래스이름):
def __init__(self, 매개변수1, 매개변수2, 매개변수3):
# self 가 없음
super().__init__(매개변수1, 매개변수2)
self.속성3 = 매개변수3
def 메서드이름(self):
pass
Mangling: 속성의 이름을 변경하는 기능
- 여러 클래스에서 정의된 같은 이름의 속성들이 서로 충돌하지 않도록 한다
- 속성 이름 앞에
__
를 붙이면 속성 이름이_클래스이름__속성이름
으로 변경된다.
class 클래스이름:
def __init__(self, 매개변수1, 매개변수2):
self.__속성1 = 매개변수1
self.__속성2 = 매개변수2
def __메서드이름(self):
pass
super(): 부모 클래스의 메서드를 호출할 때 사용
다중 상속
- 다중 상속은 여러 클래스를 상속받는 것이다.
class 클래스이름(부모클래스1, 부모클래스2):
pass
실제로는 사용하지 않는 것을 권장
'[Project_하다] > [Project_공부]' 카테고리의 다른 글
[@mohsin.shaikh324] Matplotlib vs. Seaborn vs. Plotly (0) | 2024.07.19 |
---|---|
[우리FISA] Pandas method and functions (0) | 2024.07.18 |
[우리FISA] NumPy (0) | 2024.07.17 |
[우리FISA] OOP (0) | 2024.07.15 |
[우리FISA] Standard Input/Output, stdio (0) | 2024.07.15 |
[우리FISA] Exception Handling (0) | 2024.07.15 |
[우리FISA] Python Modules, Library, Package (0) | 2024.07.15 |
Comments