-
파이썬 | 객체 지향 프로그래밍(1): 클래스와 인스턴스Programming/Python 2025. 10. 17. 18:00반응형
1. 파이썬
2. 변수
- 2.1. 기본자료형
- 2.2. 복합자료형
- 2.3. 자료형 메소드
- 2.4. 객체 복사
3. 조건문과 반복문
4. 예외 처리
5. 사용자 정의 함수
6. 모듈, 패키지, 라이브러리
7. 파일 처리
8. 객체 지향 프로그래밍
1. 객체 지향 프로그래밍

객체 지향 프로그래밍 객체 지향 프로그래밍(Object-Oriented Programming, OOP) 언어는 프로그램 설계 방법론 중 하나로, 프로그램을 단순하게 데이터와 명령문의 연속으로 보는 것이 아니라, 독립된 객체 단위가 데이터를 주고 받으며 서로 상호작용하는 관점으로 보는 것이 특징이다. 각 객체는 다른 객체와 구별되면서도 자신의 상태를 설명하는 ▲속성과, 다른 객체와 상호작용하기 위한 ▲행동으로 정의되며, 클래스를 통해 객체를 생성하고 복제할 수 있다.된다. 파이썬은 객체 지향 프로그래밍을 지원하므로, 클래스를 통해 객체를 생성하고 복제할 수 있다.
2. 클래스와 인스턴스

클래스와 인스턴스 클래스(class)는 같은 종류에 속하는 객체들의 속성과 행동을 정의하는 사용자 정의 자료형이며, 클래스로부터 정의된 객체, 즉 인스턴스(instance)는 자신만의 속성과 행동을 보유한다. 클래스를 정의하기 위해서는 아래 예시와 같이 class 명령문 뒤에 클래스 이름을 작성하고, 쌍점 아래로 해당 클래스의 속성과 행동 또는 메소드를 정의하는 명령문을 입력한다. 클래스의 속성과 메소드를 부여받을 인스턴스를 생성하기 위해 클래스를 호출하여 변수에 할당한다. 아래 예시에서 생성한 세 객체는 동일한 클래스를 통해 생성하였으므로 모두 같은 특징을 갖는다. 이처럼 클래스를 정의하면 매번 새로운 객체를 정의할 필요 없이 동일한 특성을 갖는 객체를 반복적으로 생성할 수 있다.
class apprentice: # 클래스 정의 # 속성 race = 'human' rank = 1 def __init__(self, nickname): self.__HP, self.__MP = 50, 50 self.__STR, self.__DEX, self.__INT, self.__LUK = 5, 5, 5, 5 self.__nickname = nickname # 메소드 def nickname(self): print(f'nickname: {self.__nickname}') def status(self): print(f'HP: {self.__HP} | MP: {self.__MP}') def stat(self): print(f'STR: {self.__STR} | DEX: {self.__DEX} | INT: {self.__INT} | LUK: {self.__LUK}') def punch(self, avatar): avatar.__HP -= self.__STR + 0.5 * self.__DEX def magicarrow(self, avatar): avatar.__HP -= self.__INT + self.__LUK self.__MP -= 10 avatar1 = apprentice('Steve') # 인스턴스 생성 avatar2 = apprentice('Tony') avatar3 = apprentice('Clint')[함께 읽으면 좋은 페이지]
파이썬 | 객체 지향 프로그래밍(2): 속성과 메소드
1. 파이썬 1.1. 기본 기능과 규칙 2. 변수2.1. 기본자료형 2.1.1. 정수형, 실수형, 논리형, 문자열 2.2. 복합자료형 2.2.1. 리스트, 튜플 2.2.2. 딕셔너리, 세트 2.3. 자료형 메소드 2.3.1. 리스트 메소드 2.3.2.
vedacube.tistory.com
참고문헌
- 박진수. (2019). 바로 쓰는 파이썬. 서울대학교출판문화원.반응형'Programming > Python' 카테고리의 다른 글
파이썬 | 객체 지향 프로그래밍(2): 속성과 메소드 (0) 2025.10.24 파이썬 | 파일 처리(2): with-as (0) 2025.09.19 파이썬 | 파일 처리(1): 메모장 파일 쓰고 읽기 (0) 2025.09.12 파이썬 | 객체 복사: 할당, 얕은 복사, 깊은 복사 (2) 2025.08.15 파이썬 | 모듈, 패키지, 라이브러리: import-as (1) 2025.07.18