Let's Programming/Python

Class와 관련된 용어 정리

아르센 루팽 2022. 6. 16. 12:22

Python이란 언어를 접한지는 꽤 오랜 시간이 지났지만, 용어와 용법은 늘 잊어버리고, 다른 분들의 글을 읽다보면 잘 이해를 못하는 경우가 많네요. 그래서 관련 용어들을 정리해놓고, 혼란스러울 때마다 찾아보고자 합니다.

제 개인적으로 혼란스러운 용어들은 attributes, method 등등의 용어인데, 이 용어들은 Object-oriented programming에서 사용하는 용어와 관련이 있는 것 같습니다. Object-oriented programming에서의 객체(Object)는 states와 behavior를 가진다고 합니다. 이를 Python에서 사용하는 용어와 맵핑해보면 다음처럼 정리해볼 수 있을 거 같습니다. ('같습니다'라고 적은 것은 저도 아직은 자신이 조금 없어서... 혹시 다른 고수분들께서 댓글로 오류 말씀해주시면 감사하겠습니다)

일반 용어 Python 의미
Object Class  
attributes
= members
= properties
variable - Object가 가진 속성을 의미
- Python Class내 변수 개념과 유사
behavior method - Class내 함수
. instance - Python에서 각 Class를 호출하여 생성한 객체
Constructor __init__ - Object를 초기화해주는 method

 

Example

Person이라는 Class가 있다고 해보겠습니다. Person에는 name, age라는 attributes가 있고, eat라는 method가 있습니다. 그리고, tom이라는 instance를 생성해보겠습니다.

위 내용에 대한 코드는 다음과 같이 정리해볼 수 있습니다.

class Person:
	def __init__(self, name, age):
		self.name = name
		self.age = age

	def eat(self, food):
		self.food = food

tom = Person('tom', 29)  ## instance 생성
tom.eat("Apple")

 

 

반응형