오늘은 함수 표현식에 대해 공부 하자.

우선 나는 주석 처리를 하여서 사진을 올렸지만 따라서 해보실 분들은 주석처리 표시를 제외하고 작성하시면 된다.
함수표현식이란?
수학에서 함수의 개념을 잠깐 살펴보자면, 뭔가의 만들어진 기능 혹은 틀을 의미한다. 대입하기만 하고 원하는 결과수를 빼내는 작업이라고 볼 수 있다. 코딩에서의 함수도 크게 다르진 않다. 다만 차이점은 직접적인 공식이 존재하는 것이 아니라 그 공식을 우리가 만들어 준다는 차이점이다.
int a = 1000, b = 2000;
int data = plusData(a, b);
System.out.println("data = " + data);
data = minusData1(a, b);
System.out.println("data = " + data);
여기서 보면 첫 번째 방식은 가장 기본적인 함수 표현식이다.
public class Main {
public static void main(String[] args) {
}
}
항상 main에서 시작하는 것을 잊지 말자.
//1번째 방식
public static int plusData(int a, int b) {
return a + b;
}
//2-1번째 방식
public static int minusData1(int a, int b) {
return minusData2(a, b);
}
//2-2번째 방식
public static int minusData2(int a, int b) {
return a - b;
메인 에서 시작해서 컴퓨터가 쭉 읽어 내려간다.
여기서 내려가다보니 plusdata가 있다. 그러면 컴퓨터는 이름이 같은 플러스데이터 함수를 찾아서 실행시키게 된다.
그런데 코드 작성한 것을 보면 리턴이란 것이 있다.
리턴이란?
값을 되돌리다 라는 의미 정도로 해석 할 수 있다.
여기서 잘 생각해보자, 되돌리다. 라는 의미라면 어디가 시작이였는지 생각해볼 필요가 있다.
바로 public static int plusData(int a, int b) {
return a + b;
}
이 구간으로 값을 되돌린다 라고 알 수 있다.
플러스데이터 함수의 값이 리턴값이 된다는 것을 알 수 있다.
말 그대로 리턴값이 플러스데이터 함수의 값이 된다는거다. 그리고 리턴을 만나게 되면 해당 함수는 종료가 된다.
함수가 종료되면, 컴퓨터는 다시
int data = plusData(a, b);
System.out.println("data = " + data);
//1번째 방식
public static int plusData(int a, int b) {
return a + b;
}
이 부근을 읽게 된다. 근데 여기서 플러스 데이터 함수가 무슨 값을 갖고 있나를 살펴보면 a+b이다.
따라서 int data=으로 되어있으니, data에는 플러스 데이터의 값 a+b가 담기게 된다.
그 밑의 두번째 방식 역시 동일하다.
마이너스 데이터를 실행시키면 마이너스 데이터 함수를 호출 후 그 안에서 리턴값이 마이너스 데이터2를 가리킨다.
마이너스 데이터2가 실행되고 결과값이 그대로 넘기고 넘겨져서 메인으로 넘겨지는 것이다.
여기까지 이해하기가 조금 쉽지 않다. 여태 지난 시간에 익힌 부분들에 비해 난이도가 조금 껑충 뛴듯한 느낌이 든다.
계속 읽어보고 따라 해보며 개념을 완벽히 이해를 하여야 다음 스텝으로 넘어가도 문제가 없을것 같다.
백프로 확실히 이해한 후 지난번에 풀어본 퀴즈 문제를 위의 함수 표현식을 활용해서 다시 풀어보도록 하자.