본문
함수와 메서드, 필드와 속성
프로그래밍/Java 2016. 1. 13. 10:35
# 함수(Function)와 메서드(Method)
답부터 이야기하자면 전혀 다르지 않다. 절차적/구조적 프로그래밍에서 함수라 불렀는데 객체 지향에서는 좀 다르게 불러야 하지 않을까?
그래서 메서드라고 불렀다고 한다. 그래도 굳이 차이점을 찾는다면
함수는 클래스나 객체와 아무 관계가 없지만,
메서드는 반드시 클래스 정의 안에 존재해야 한다는 것이다.
"객체 지향언어에서 클래스 외부에 존재할 수 있는 것은 없다."
# 필드(Field와 속성(Property)
절차적/구조적 프로그래밍에서 전역변수(공유 변수)를 필드라고 불렀고 기능적 요소를 함수라고 불렀다.
객체지향 프로그래밍에서 같은 일을 하지만 이름을 그대로 따라 쓰자니 차별화가 안 되는 것 같았다고 한다.
그래서 객체지향에서는 전역변수(공유변수)를 프로퍼티라 부르고 함수를 메서드라 부르기 시작했다고 한다
절차적/구고적 프로그래밍 |
객체 지향 프로그래밍 |
필드(Field), 전역변수 |
속성(Prpperty), 프로퍼티 |
함수(Function) |
메서드(Method) |
- 출처 및 참고자료 : 스프링 입문을 위한 자바객체지향의 원리와 이해(김종민 저)
댓글