본문 바로가기
기타 개념정리

콜백함수 사용이유부터 예제 정리

by wakestand 2020. 10. 14.
반응형

콜백(callback)함수는 매우 단순한 개념인데

함수를 수행한 다음에 수행하는 함수를 말한다

 

실제 예를 들어보자면 인터넷에서

게시물을 입력한 후 저장하면

자동으로 조회가 되는 경우가 대부분인데

 

저장 > 콜백함수 > 조회

이런 식이 되겠다

 

위 이미지를 보면 save 함수를 수행한 후에

callback 함수를 "save" 파라미터를 가지고 수행하는데

callback 함수에서는 name이 "save"일 경우

search 함수를 수행하고 끝이 나게 된다

 

여기서 콜백함수는 특정 함수를 수행한 후에

다음 함수를 안내해주는 역할을 맡는데

 

대부분의 경우 한 화면에 한 기능만 있지 않기 때문에

한 여러 기능이 한 콜백함수를 사용하면서

저장일 경우에는 A 기능

조회일 경우에는 B 기능

이런 식으로 이어지게 된다

여기서 콜백함수의 사용이유가 나오는데

 

각 함수별로 수행 후 추가적인 동작이 필요할 경우

따로 만들면 가독성이 엄청 떨어지는데

콜백함수를 만들어 주면 함수 수행 후에

모두 콜백함수로 이동하기 때문에

함수 짜기도 편하고 보기도 편해지기 때문이다

 

마지막으로 예제에 사용한 코드는 아래와 같다

 

public class Test1{
	public void callback(String name) { // 콜백 함수
		if(name.equals("save")) { // save를 보냈을 경우
			System.out.println("save callback");
			search();
		} else if(name.equals("search")) { // 조회를 보냈을 경우
			// Nothing
		}
	}
	
	public void save() { // 저장
		System.out.println("save");
		callback("save");
	}
	
	public void search() { // 조회
		System.out.println("search");
		callback("search");
	}	
	
	public static void main(String[] args) {
		Test1 t1 = new Test1();
		t1.save();
	}
}
반응형

댓글