- 함수 (행동, 절차)
- 독립적인 코드 블록
- 데이터를 소유하지 않음 (외부로부터 인자를 받아서 결과를 반환)
- 상태가 없음 (이전의 결과를 기억하지 않음)
- 클래스 (설계도, 틀)
- 객체를 만들기 위한 설계도
- 구조 정의 (만들어질 객체의 속성(데이터)과 메소드(행동)를 정의)
- 실체가 아님 (개념적인 정의)
- 클래스 작성
class 클래스명:
__init__(self, 매개변수1, 매개변수2, ...):
self.속성1 = 매개변수1
self.속성2 = 매개변수2
...
def 메소드명(self):
코드
- 객체 (실체, 결과물)
- 실제로 만들어진 인스턴스(존재)
- 데이터와 행동의 결합 (속성(데이터)과 메소드(행동)를 가짐)
- 상태가 있음 (자신만의 독립적인 속성 값을 유지, 이적의 결과를 기억)
- 메모리상 존재 (객체가 생성되면 메모리에 고유한 공간을 할당받아 존재하는 실체)
객체1 = 클래스명(속성1, 속성2, ...)
객체1.메소드명()
- 함수 vs 메소드
클래스 내에 속해있는지의 여부에 따라 구분
- 함수 : 독립적으로 존재 (클래스나 객체에 속해있지 X)
- 메소드 : 클래스 내부에 정의, 객체를 통해서만 호출 가능
'Coding > Python' 카테고리의 다른 글
| Ch 10. 파일 입출력, 예외 처리 (try-expect 문) (0) | 2025.07.05 |
|---|---|
| Ch 9. 문자열 (0) | 2025.07.03 |
| Ch 8. 튜플, 세트, 딕셔너리 (0) | 2025.07.03 |
| Ch 7. 리스트 (0) | 2025.07.02 |
| Ch 6. 함수 (0) | 2025.04.21 |