본문 바로가기

Method

(2)
[Java] 메서드 (Method) Method란?클래스(Class) 내의 함수(function)를 메서드(method)라고 부른다. method의 사전적의미는 어떤 결과물을 내기 위한, systematic procedure(절차)이다. 예를 들면, 카페의 알바생이 블루베리 스무디를 만들려고 한다. 카페에서 제공하는 레시피를 보고서, 필요한 재료를 넣고 일련의 과정대로 수행을 하면 블루베리 스무디가 만들어진다. 그 레시피가 메서드이다. 이처럼, 알바생은 어떻게 블루베리 스무디를 만들어지는 원리를 모르는 상태에서도 방법만 알면 쉽게 만들수 있다. 알바생은 그저 재료(input)을 넣고 일련의 과정을 수행하면 원하는 블루베리 스무디(output)값을 설계한 것이 메서드이다. 이러한 블루베리 스무디 레시피를 만들어 놓으면 어떤 알바생이건 몇 번..
[Java] 메서드의 종류와 호출 과정 및 디스패치 Instance Method 호출 과정인스턴스 메서드의 메서드 호출 과정을 자세히 짚어보자면 다음과 같다.인스턴스의 실제 클래스 타입에 찾는 메서드가 정의되어 있으면 그 메서드를 호출한다.만약 인스턴스가 속한 클래스에 해당 메서드가 없으면, 상위 클래스로 올라가면서 메서드를 찾는다.JVM은 상속 계층을 따라 부모 클래스로 올라가며 메서드를 찾을 때까지 반복적으로 수행한다.그러므로 상속 계층이 깊어질수록, 메서드를 찾기 위해 부모 클래스, 조부모 클래스 등 상위 클래스까지 검색하는 작업이 추가되므로 검색 오버헤드가 발생할 수 있다. 게다가, java는 단일 상속을 사용하지만, 인터페이스 구현으로 인하여 인터페이스 다중 상속으로 메서드 검색 과정이 복잡해질 수 있다. 그리하여 JVM은 다중 상속을 지원하는 ..