728x90
반응형
SMALL
1. 객체지향 프로그래밍
- 문제(ex, 프로젝트등) 를 여러개의 객체 단위로 나눠 작업하는 방식
1-1. 객체(object)란?
- 물리적으로 존재하거나 추상적으로 생각할 수 있는 것 중에서 자신의 속성을 가지고 있고 다른 것과 식별 가능한것을 말함
- (메모리에 올라가있음)
1-2. 클래스란?
- 객체를 생성하기 위한 일종의 설계도
- 프로퍼티or필드(변수)ex. 명사, 메소드(함수)ex. 동사로 구성
- 프로퍼티(property): 데이터가 저장되는 곳
- 메소드(method): 객체의 동작에 해당하는 실행 블록
1-3. 클래스와 객체
- 건축 설계도가 클래스라면, 실제로 지어진 집은 객체
- 객체는 클래스로 생성되어 구체화된 인스턴스(복제)
- 실제로 클래스가 인스턴스화 되어 메모리에 상주하는 형태를 객체라고 부름
- 파이썬의 모든 변수와 함수는 객체로 저장
파이썬 클래스(Class)란?
목차:
1. 클래스란?
2. 클래스 만들기
3. 객체 생성하기
4. 프로퍼티와 메소드
5. 예제
클래스란?
클래스(Class)란 객체(Object)를 생성하기 위한 일종의 설계도입니다. 클래스는 객체를 생성하기 위한 필드(Field)와 메소드(Method)를 정의하며, 객체를 생성할 때 이러한 필드와 메소드를 상속받아 사용합니다.
클래스 만들기
클래스를 만들 때는 다음과 같은 문법을 사용합니다.
class 클래스명:
프로퍼티명 = 값1
프로퍼티명 = 값2
...
def 메소드명1(self, 변수1, 변수2 ..):
메소드가 호출되면 실행할 문장
...
def 메소드명2(self, 변수1, 변수2 ..):
메소드가 호출되면 실행할 문장
...
객체 생성하기
클래스를 통해 객체를 생성할 때는 다음과 같이 사용합니다.
객체명 = 클래스명()
프로퍼티와 메소드
클래스를 통해 생성된 객체는 프로퍼티와 메소드를 가지고 있습니다. 프로퍼티는 클래스에서 정의된 필드를 의미하며, 메소드는 클래스에서 정의된 함수를 의미합니다.
class Dog:
name = '루시'
age = 13
family = '포메'
def eat(self):
print('사료를 먹습니다!')
위 예제에서는 Dog라는 클래스를 정의하고, name, age, family라는 프로퍼티와 eat이라는 메소드를 정의하였습니다. eat 메소드는 "사료를 먹습니다!"라는 문장을 출력합니다.
객체를 생성한 후에는 프로퍼티와 메소드를 호출할 수 있습니다.
Rucy = Dog()
print(Rucy.name)
print(Rucy.age)
print(Rucy.family)
Rucy.eat()
위 예제에서는 Dog 클래스로 Rucy 객체를 생성하고, name, age, family라는 프로퍼티를 출력하였습니다. eat 메소드도 호출하여 "사료를 먹습니다!"라는 문장을 출력하였습니다.
예제
아래는 클래스를 사용한 예제입니다.
class Animal:
name = ''
age = 0
gender = ''
def __init__(self, name, age, gender):
self.name = name
self.age = age
self.gender = gender
def introduce(self):
print("안녕하세요. 제 이름은 %s이고, %d살 %s입니다." % (self.name, self.age, self.gender))
cat = Animal("야옹이", 3, "수컷")
dog = Animal
728x90
반응형
LIST