Java 함수

김범준·2022년 11월 10일
0

Java

목록 보기
6/11
post-thumbnail

함수

함수는 사용하고 하는 코드들을 뭉쳐놓은 블록이다.
함수를 호출하면 해당 함수내에 있는 코드들이 실행되고 그 결과가 return값으로 반환되기도 하며 그냥 실행만 될 수도 있다.

구조

기본적으로 구성으로는 아래와같다.

  1. 리턴 자료형은 함수가 리턴하는 데이터의 자료형을 표시한다. 만약 리턴값이 없다면 void로 무조건 표현해야 하는 것중 하나이다.
  2. 함수이름은 함수를 구별하고 함수를 호출할때 사용하는 이름이다. 필수로 작성해야한다.
  3. 파라미터는 매개변수로 함수가 외부 데이터를 받아오는 곳이다. 파라미터 표시시에는 해당 파라미터의 자료형과 변수이름으로 작성해야 하며, 1개 뿐만아닌 여러개가 들어가도 되며 없어도 된다.
    void test(int var1, String str1, int[] arr){}
  • 만약 파라미터가 몇개 들어올지 모른다면 ...을 붙여 여러개를 받을 수도 있다.
    void test(int ...arr1){
    	for(int i : arr1){
        	System.out.println(arr1);
        }
    }
  • 단 받는 변수는 배열형태가 된다.
  1. 함수내용은 함수가 호출되었을 때 실행되는 코드내용이 들어가는 곳이다.
  2. 리턴 값은 함수가 최종적으로 반환하는 값을 말한다. 리턴값은 함수의 리턴 자료형에 맞춰서 리턴해줘야 한다.

선언

들어온 배열에 있는 값을 모두 합하고 그 결과를 반환하는 기능을 가진 함수를 만들어보자
1. 리턴 결과가 배열의 합일테니 int일 것이다.
2. 이쁜 이름을 짓는다.
3. 일단 파라미터로 배열이 들어올것이다.
4. 함수 내용에는 배열에 있는 값들을 모두 더하고 값을 내야한다.
5. 리턴값에 그 결과를 리턴한다.

위에거를 코드로 진행하면

int arrSum(int[] arr){
	int result = 0;
    for(int num : arr){
    	result += num;
    }
    return result;
}

위 코드가 된다.
해당 역할에 맞게 코드를 작성하여 선언하면 된다.

호출

함수를 호출하기 위해서는 함수이름과 필요한 파라미터들을 넣어주면 된다.
위 함수를 호출하기 위해서는

int[] arr = {1, 2, 3, 4, 5, 6, 7};
int methodResult = sumArr(arr);
System.out.print(methodResult);

위처럼 해주면 된다.
sumArr함수는 그 결과를 리턴하면 해당 데이터를 넣을 변수가 필요하거나 바로 다른 함수에 사용할 수 있다.

메소드 오버로딩

이전에 변수의 크기에 대해서 알았다. 그중 int가 가지는 크기의 한계도 배웠다.
만약 위 함수에서 결과가 3,000,000,000이 넘게 되면 어떻게 될까?

위와같은 경우때문에 다른 이름의 메소드를 짓게 되면 메소드가 가진 의미로 헷갈릴 수 있다.
때문에 이름은 같지만 매개변수의 수, 타입, 순서 중 하나라도 다른 함수를 다시 만들 수 있다.

int sumArr(int[] arr){
	int result = 0;
    for(int num : arr){
    	result += num;
    }
    return result;
}
long sumArr(long[] arr){
	long result = 0;
    for(long num : arr){
    	result += num;
    }
    return result;
}

위와 같이 sumArr를 같은 이름이지만 int형보다 더 큰사이즈를 다룰수 있는 long형으로 선언하였다. 그렇다면 호출시에도 long타입의 데이터를 집어놔야 한다.

profile
그럴싸한 계획을 가지고 있는

0개의 댓글