함수와 메소드의 차이는 무엇인가?

함수란

  • 독립적으로 존재하며 임무를 수행하는 코드들의 집합
  • 함수 이름으로 호출한다.
  • 매개 변수(parameter)를 받을 수도 받지 않을 수도 있다.
  • 결과 값을 리턴할 수도 하지 않을수도 있다.
  • 재사용이 가능하다.

재사용이란 Linux 명령어의 pipe line이라고 생각하시면 좋습니다.

잘 짜여진 함수는 재사용이 쉽기 때문에, 코드 중복을 줄일 수 있고, 시간이 짧아진다.

def add(a,b):
  return a+b

result = add(1,2)

메소드란

  • 객체 혹은 클래스에 종속되어 임무를 수행하는 코드들의 집합.
  • 클래스나 객체의 상태 정보에 접근도 가능



메소드를 호출하려면 필수적으로 객체를 생성해야 한다.
또한, 객체에 종속된 영향력만을 펼칠 수 있다.


class Adder:
  def add(self, a, b):
    return a+b

adder = Adder()
result = adder.add(1,2)

메소드는 영향력을 제한할 수 있어서 좋은 점이 있다.






Reference

카테고리:

업데이트:

댓글남기기