파이썬 강좌(초급)/8.클래스

8.클래스 - 4) 멤버변수와 메서드

파기차차 2024. 4. 1. 08:01
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()메소드의 인자로 selfcontent가 있는데,

selfPerson클래스 자체를 의미하고, 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