본문 바로가기

CS & CE & DS & DA 공통/객체 지향 프로그래밍(Object Oriented Programming)

메소드 (by 파이썬)

객체의 속성과 행동을 나타낼때
속성은 변수로 행동은 함수로 나타낸다. 
클래스에 정의한 함수를 메소드라고 부른다.

메소드의 3종류

1. 인스턴스 메소드 : 인스턴스 변수를 사용하거나 인스턴스 변수에 값을 설정하는 메소드
2. 클래스 메소드
3. 정적 메소드

인스턴스 메소드 예시

#먼저 User 클래스 정의
class user:
#인사 메세지 출력 메소드 정의
    def say_hello(some_user):  #some_user 자리에 인스턴스 입력
    	print('안녕하세요! 저는 {}입니다!'.format(some_user.name))  #인스턴스의 name 변수를 출력
#인스턴스 생성
user1 = User()
#인스턴수 변수 name 정의
user1.name = '김철수'

인스턴스 메소드 사용법 1
클래스 이름.메소드 이름(인스턴스 이름)

#say_hello 메소드 사용
User.say_hello(user1)
>> 김철수

인스턴스 메소드 사용법 2
인스턴스 이름.메소드 이름()

#say_hello 메소드 사용
user1.say_hello()
>> 김철수

사용법 1과 2의 차이는 
사용법 1은 클래스에서 메소드를 호출했고 사용법 2는 인스턴스의 메소드를 호출했다.

여기서 특별한 규칙이 발생한다.
인스턴스의 메소드를 호출하면 메소드의 파라미터해당 인스턴스가 자동 지정된다.