728x90
반응형
SMALL
1) 멤버변수가 뭐에요?
아래의 예제에서와 같이 클래스 내에 있는 self.name, self.age와 같은 변수가 멤버변수 입니다.
class Person: def __init__(self, name, age): self.name = name # 이름 속성 초기화, 멤버변수 self.age = age # 나이 속성 초기화, 멤버변수 # Person 클래스의 객체를 생성하면서 초기화 작업을 수행합니다. person1 = Person("Alice", 30) print(person1.name) # 출력: Alice ß 멤버변수 name에 접근 print(person1.age) # 출력: 30 ß 멤버변수 age에 접근 |
멤버변수에 접근은 객체+점(.)으로 접근하면 됩니다.
2) 메소드가 뭐에요?
클래스 내에 정의된 함수를 메소드라 부릅니다.
# 'Person' 클래스 정의 class Person: def __init__(self, name, age): self.name = name self.age = age def speak(self, content): # <----------- 클래스내에 정의 된 함수로 메서드라 부른다. print(f"{self.name}이/가 {content} 말합니다.") # 'Person' 클래스를 사용하여 객체 생성 person1 = Person("Alice", 30) person2 = Person("Bob", 25) # 객체의 속성에 접근 print(person1.name) # 출력: Alice print(person2.age) # 출력: 25 # 객체의 메서드 호출 person1.speak(“큰 소리로”) # 출력: Alice이/가 말합니다. |
위에서 Person클래스의 speak()메소드의 인자로 self와 content가 있는데,
self는 Person클래스 자체를 의미하고, content는 인자로 받은 content를 의미합니다.
따라서 self.name 이라고 하면 __init__()함수의 self.name을 사용하는 것이고, content라고 하면 인자로 전달받은 값(“큰 소리로”)을 사용하게 됩니다.
3) 실습
(1) 객체에 종목명을 입력할 수 있도록 Stock클래스에 set_name 메서드를 추가해 보세요.
a = Stock(None, None)
a.set_name("삼성전자")
모범답안
더보기
class Stock:
def __init__(self, name, code):
self.name = name
self.code = code
def set_name(self, name):
self.name = name
a = Stock(None, None)
a.set_name("삼성전자")
print(a.name)
(2) 객체에 종목코드를 입력할 수 있도록 Stock클래스에 set_code 메서드를 추가해 보세요.
a = Stock(None, None)
a.set_code("005930")
모범답안
더보기
class Stock:
def __init__(self, name, code):
self.name = name
self.code = code
def set_name(self, name):
self.name = name
def set_code(self, code):
self.code = code
a = Stock(None, None)
a.set_code("005930")
print(a.code)
728x90
반응형
LIST
'파이썬 강좌(초급) > 8.클래스' 카테고리의 다른 글
8.클래스 - 6) 메서드오버라이딩 (3) | 2024.04.01 |
---|---|
8.클래스 - 5) 상속 및 다중상속 (3) | 2024.04.01 |
8.클래스 - 3) 생성자 (4) | 2024.04.01 |
8.클래스 - 2) 클래스 관련 용어 및 특징 (3) | 2024.04.01 |
8.클래스 - 1)개요 (1) | 2024.04.01 |