2023. 11. 8. 13:43ㆍNAVER AI Tech/Python & AI math
OOP(Object-Oriented Programming) : 기능 별로 모듈화 시켜서 코드를 재사용, 혹은 짜잡기가 가능하도록 프로그래밍 하는 것.
- class, object가 나온다.
- class는 이데아, object(=instance)는 class가 현실화로 구체화된 것.
CamelCase : 띄어쓰기 부분에 '대문자'를 다는 방식 Class명에 사용.
snake_case : 띄어쓰기 부분에 '_'를 다는 방식으로 변수명,함수명을 선언
__init__(self, *args)
- 객체를 초기화 하는 예약 함수.
- self란? 생성된 instance 자기 자신.
즉 객체를 선언해야하는데 이때 객체를 담을 변수를 선언한다. self란 class내에서 객체를 담을 변수를 의미하게 되는 것이다.
** 이때 알아두면 좋은 파이썬에서 '__' 의미
- magic method라고 예약 함수같은거다.
- __init__()이라는게 존재하는 것 처럼 __str__(self) , __add__(self) 이런 여러가지 함수들이 있다.
다른 클래스를 그대로 사용할 수도 있지만 custom 하고싶다? -> 상속을 사용한다.
class ChildClass(Parent): # 이렇게 선언.
def __init__(self, name, age, gender, salary, hire_date):
super().__init__(name, age, gender) # 부모객체와 같은 정의를 사용
self.salary = salary
self.hire_date = hire_date
Visibility, Encapsulation : 가시화, 캡슐화
- 생성한 객체의 정보를 임의의 다른 사용자가 변경하지 못하도록 보호하는 것.
- self.__items = [] #이렇게 '__' 언더바 두개를 통해서 private 변수를 생성한다.
- @property를 통해서 값을 반환받게는 해줄 수도 있다.
@property
def items(self):
return self.__items
'NAVER AI Tech > Python & AI math' 카테고리의 다른 글
11. (Python) File, Exception, Log에 대해서... (0) | 2023.11.08 |
---|---|
10. (Python) Module & Project (0) | 2023.11.08 |
8. (Python) code 작성 시 꿀팁 (0) | 2023.11.07 |
7. (Python) Data Structure (0) | 2023.11.07 |
6. (Python) String 과 Function concept (0) | 2023.11.07 |