시험공부빅데이터분석
← 보드클래스와 상속 · 1/12

class와 객체(instance) — 설계도와 만들어진 물건 ★★

class(클래스)는 데이터와 동작을 하나로 묶어 정의한 설계도예요. 이 설계도로 실제로 만들어진 값을 object(객체) 또는 instance(인스턴스)라고 해요. 교수님도 "클래스는 설계도, 실제로 만들어진 값이 객체"라고 설명했어요.

비유 — 붕어빵 틀과 붕어빵

붕어빵 틀이 설계도(class)이고, 틀로 찍어 낸 붕어빵 하나하나가 객체(instance)예요. 같은 틀에서 나와도 붕어빵마다 속 재료(팥, 슈크림)를 따로 넣을 수 있어요. 한 붕어빵의 속을 바꿔도 다른 붕어빵은 그대로예요.

class는 설계도, instance는 실제 객체
교수님 슬라이드 — class = 설계도, instance = 실제로 생성된 값. s1.score를 바꿔도 s2.score는 그대로
class Student: def __init__(self, name, score): self.name = name self.score = score def introduce(self): print(f"이름: {self.name}, 점수: {self.score}") s1 = Student("Kim", 95) s2 = Student("Lee", 88) print(s1 is s2) s1.introduce() s2.introduce()
False 이름: Kim, 점수: 95 이름: Lee, 점수: 88
코드 줄무슨 뜻
class Student:"Student라는 설계도를 정의한다". 이 줄 아래 들여쓴 부분이 설계도 내용이에요. 정의만으로는 아무것도 만들어지지 않아요
s1 = Student("Kim", 95)설계도로 객체를 하나 만들어 s1이라는 이름표를 붙여요
s2 = Student("Lee", 88)같은 설계도에서 또 하나 만들어요. s1과 s2는 서로 다른 객체예요
s1 is s2"같은 객체인가?" → 다른 객체라 False
s1.introduce()s1에게 introduce 동작을 시켜요. 점은 "~의"이고 괄호가 있으니 동작이에요(0장)

클래스 안에서 쓰는 용어를 표로 정리할게요.

용어뜻이 예에서
attribute (속성)객체가 기억하는 데이터(상태)self.name, self.score
method (메서드)객체가 하는 동작. class 안에 정의한 함수introduce()
instance설계도로 만든 객체s1, s2
시험엔 이렇게 써요 — 이렇게 고르세요

class는 attribute와 method를 하나로 묶어 정의한 설계도이고, instance는 class로부터 만들어진 실제 객체이며 각 instance는 자신만의 상태(attribute 값)를 독립적으로 가진다. 객체가 여러 개이면 "누구의 값인지" 이름표(s1, s2)를 구분해서 따라가세요.

잠깐 확인 — Student("Kim", 95)와 Student("Lee", 88)을 만들었습니다. 이 둘은 같은 객체인가요?

아니에요. 같은 class(설계도)에서 만들었을 뿐 서로 다른 instance(객체)예요.

다음 카드 → __init__과 self — 객체가 만들어질 때 일어나는 일 ★★★

자료: 3~4주차 · Week03_Class_for_PyTorch(pdf, ipynb 업데이트본) · 빅데이터03(3주차)·빅데이터04(4주차) 녹취