6일차

송용진·2024년 2월 25일

예습

클래스
class 클래스명():

클래스와 인스턴스를 이용하면
데이터와 코드를 사람이 이해하기 쉽게 포장할 수 있다.

클래스에 함수를 넣을 수 있다.


클래스
데이터와 이를 처리하는 메소드를 함께 묶어
객체를 생성하기 위한 템플릿 또는 청사진

객체
클래스의 인스턴스

인스턴스
클래스의 구조를 바탕으로 생성된 실제 개체
해당 클래스의 특성과 동작을 가지고 있음

속성
객체의 상태를 나타내는 변수
(객체 안에 있는 변수)

메소드
객체의 행동을 나타내는 함수

상속
한 클래스가 다른 클래스의 속성과 메소드를 물려받는 기능

캡슐화
객체의 세부 구현을 외부로부터 숨기고,
외부 인터페이스만을 제공하는 기술

다형성
같은 인터페이스나 메소드가 다른 객체들에 의해 다른 방식으로 실행될 수 있는 능력

베이스 클래스
다른 클래스에 속성과 메소드를 제공하는 클래스

파생 클래스
베이스 클래스의 속성과 메소드를 상속받아 새롭게 생성된 클래스

오버라이딩
파생 클래스에서 베이스 클래스의 메소드를 재정의하는 것

슈퍼
파생 클래스에서 베이스 클래스의 메소드를 호출할 때 사용하는 함수

class 메서드
클래스 속성에 접근하거나, 클래스 변수를 수정 등의 작업 가능

매직 메서드
파이썬의 기본 연산을 클래스에 적용할 수 있도록 해줌

컴포지션
클래스가 다른 클래스의 객체를 소유하는 관계

어그리게이션

믹스인

DataClass

데이터 클래스
데코레이터를 사용하여 정의된 클래스

필드
클래스 인스턴스의 변수

데코레이터
함수나 클래스를 수정하지 않고
추가 기능을 부여하는 파이썬 구문

변수 vs 속성
변수
클래스 변수와 인스턴스 변수는 특정 값을 저장하기 위한 변수
속성
클래스나 객체의 일반적인 특성

객체는 클래스의 인스턴스

인스턴스
클래스의 실제 예시(인스턴스와 객체는 거의 동의어로 사용)

갈매기 클래스(설계도) --생성--> 갈매기1(객체,갈매기 클래스의 인스턴스)

매직 메서드 사용

class Product:
    def __init__(self, name, price):
        self.name = name
        self.price = price

    def __str__(self):
        return f"Product: {self.name}, Price: {self.price}"

product = Product("Coffee", 5)
print(product)  # Product: Coffee, Price: 5

매직 메서드 사용X

class Product:
    def __init__(self, name, price):
        self.name = name
        self.price = price

    def get_product_info(self):
        return "Product: " + self.name + ", Price: " + str(self.price)

product = Product("Coffee", 5)
print(product.get_product_info())  # Product: Coffee, Price: 5
profile
개발자

0개의 댓글