.isalpha()
를 쓰려는데, 실수로 .isalpha
로 썼더니 컴파일 과정에서 오류는 안나지만, 제대로 작동하지 않았다.
💡 그 이유를 알아보자
괄호를 메서드를 호출하는 것이 아니라 메서드 객체를 참조하고 있으므로 원하는 결과를 얻을 수 없다.
그렇다. 접근 자체는 문법 오류사항이 아니기에 컴파일러에서 걸러지지는 않았지만, 멍청한 개발자는 괄호를 안붙이는 실수를 범한 것을 인지하지 못하고 어리둥절하고 있던 것이다.
함수(function)
함수는 어떠한 기능을 수행하는 블록이다.
메서드(method)
어떠한 기능을 수행하는 함수와 비슷하지만, 차이점으로는 "객체"와 연관 되어 있는 함수라는 것이다.
객체 및 클래스와 연관이 있으면 메서드이고, 연관없이 독립적으로 사용할 수 있는 것은 함수이다.
정리하자면, 함수라는 큰 범주 안에 메서드가 포함된다고 생각하면 될 것 같다!
함수는 sum(), abs() 같이 독립적으로 사용되는 반면, 메서드는 a라는 객체가 존재할 때 a.upper(), a.lower()와 같은 형태로 사용된다. 객체에 접근한다는 의미로 .를 사용한다.
그 이외에도 sort()
도 알아본다
data.sort()
: 메소드sorted(data)
: 함수