TIL

사전캠프 14일차

ds3hfj 2024. 11. 7. 21:23

객체지향 프로그래밍의 핵심 - 클래스

 

클래스 - 요 및에 요소들은 이 규칙을 따를 것 - 속성(attributes)<객체의 데이터> ,메서드(method) <객체의 동작>로 구성됨

객체 - 클래스의 요소들(instance)(ex 클래스가 동물이면 객체는 강아지 고양이 등)

class Ai_student:
    def __init__(self,input_name):
        self.name= input_name
    def greet(self):
        print("hello my name is",self.name)
    def test(self):
        print("hello")

위와 같이 __init__(객체 구성 요소?)

self 자리는 반드시 self는 아니고 보기 좋게 하려고 self 넣은 것임.다른 것 넣어도 상관 없음

 

객체 지향 프로그래밍의 핵심개념

캡슐화 - 비공개속성 (객체의 속성과 메서드를 하나로 묶고, 일부를 외부에 감추어 객체 내부의 구현을 숨기는 원칙, 무결성보호, 외부에서의 직접접근 차단)

상속 - 동물이라는 클래스 안에 강아지라는 클래스를 포함시키는 것(부모클래스(기존클래스)를 기반으로 자식클래스(새로운 클래스)를 만드는 방법, 상속을 통해 부모 클래스의 속성과 메서드를 자식이 물려받아 사용가능,확장,수정 가능

다형성-클래스 내에 동일한 이름의 메서드가 각각 따로 동작함

추상화-아직 잘 모르겠음. (필요한 부분만 보여주고, 나머지는 감추는 원칙, 내부구현에 신경쓰지 않고 필요한 인터페이스만 사용)

 

PyTorch와 nn.module  - - PyTorch에서의 클래스 사용,nn.Module 클래스를 상속받아 신경망 정의,이를통해 딥러닝 모델을 구성

super -> 자식클래스에서 부모클래스 사용하고 싶을 경우 사용

 

 

'TIL' 카테고리의 다른 글

사전캠프 16일차  (0) 2024.11.11
사전캠프 15일차  (1) 2024.11.08
사전캠프 13일차  (0) 2024.11.06
사전캠프 12일차  (0) 2024.11.05
사전캠프 11일차  (4) 2024.11.04