function과 method 간의 차이점

function(instance) 와 instance.method() 간의 차이점...? 파이썬에서 이런걸 많이 본 것 같다. - sort(list) - list.sort()

똑같은 거 아닌가? "C에 없는 기능은 다른 언어에도 없다". 객체지향은 C에 없던 기능을 새로 만든 것이 아니라 단지 컴파일러 단에서 규칙을 만들어 프로그래머들이 더 편하고 직관적으로 코드를 짤 수 있도록 구조화 한 것 뿐이다. 컴파일 되어 바이너리가 되었을 땐 모든 데이터와 프로시저들이 전역적으로 저장되어 단지 모노리틱한 하나의 프로그램이 되는 것 아닌가?
그 증거로 파이썬의 메서드 규칙을 들 수 있다. 모든 파이썬 메서드들의 첫 파라미터는 다름아닌 Self이다. Self인자가 왜 굳이 들어가는건지 이유를 몰랐는데 사실은 런타임이 이 코드를 해석할 때 이 메서드가 전역함수로 취급이 되어 돌아가는 것일지도 모르겠다. 단지 이 함수는 접근지정자 따윈 개무시하기 때문에(파이썬에 접근지정자가 있기는 했던가?) 함수를 먼저 읽고 참조할 데이터를 들고있는 객체를 받아와 자유롭게 객체의 데이터를 접근할 수 있는 것이다.

https://choiwheatley.notion.site/380d6dacc23949c081b1e2ec81f83e13