● Function = 함수 = 처리자(Processor)
● 목적: 코드를 간략히 함, 동일한 처리 코드를 집약적으로 작성
● 기본적인 구조
구성요소1) 매개변수 (=parameter, 인수, 인자)
구성요소2) 함수 내부에서 처리되는 로직
구성요소3) return 값 (=return value, 돌아오는 값)
* 파라미터와 return 값은 없을 수도 있다.
* return 값이 없는 것을 void라고 한다.
● 가능한 함수의 선택지
- 매개변수 X, 리턴값 X
- 매개변수 O, 리턴값 X
- 매개변수 X, 리턴값 O
- 매개변수 O, 리턴값 O
● 가능한 매개변수의 개수?
- 0개 ~ 약 20개 이상?
● 가능한 리턴값의 개수?
- 대체로 없거나 1개임 (but 예외가 존재)
● 코드 예시 1: 매개변수와 리턴값이 모두 없는 함수 (void형 함수)
public class MainClass {
public static void main(String[] args) {
// 함수 호출
function();
}
// 매개변수, 리턴값이 모두 없는 함수
static void function() {
System.out.println("function의 내부 처리중");
}
}

● 코드 예시 2: 매개변수가 있고, 리턴값이 없는 함수
public class MainClass {
public static void main(String[] args) {
// 함수 호출부
int n = 123;
function(n);
// 여기서의 n은 argument이다. 실제 넘겨주는 값이고, 이것은 parameter와는 다르다.
System.out.println("main 함수 복귀: n -> " + n);
}
static void function(int n) {
// 12줄에서 선언된 int n이 Parameter이다.
// 가인수이기 때문에 이름 중복을 신경 쓸 필요 없음.
n = 234;
System.out.println("function 함수 내부: n -> " + n);
}
}

● 코드 예시 3: 매개변수와 리턴값이 모두 있는 함수
public class MainClass {
public static void main(String[] args) {
// 함수 호출 (1) -> 리턴된 값을 바로 출력 구문으로 받음
System.out.println(toLowerChar('A'));
// 함수 호출 (2) -> 리턴된 값을 변수에 저장하여 출력함
char output = toLowerChar('B');
System.out.println(output);
}
// 영어 대문자를 입력받으면, 소문자로 변환해주는 함수
// 매개변수 1개, 리턴 값 1개 (char)
static char toLowerChar(char c) {
// ASCII 코드 값을 이용함
// 대문자 'A' === 65, 소문자 'a' == 97
int cValue = (int)c;
cValue += 32;
return (char)cValue;
}
}

'Java > Java 기본 문법' 카테고리의 다른 글
| [Java] 문자열 슬라이싱 (Split 메소드) (1) | 2025.01.02 |
|---|---|
| [Java] 값 할당 vs 메모리 주소 할당 (데이터 타입에 따른 할당의 차이) with 함수 (0) | 2024.12.31 |
| Java 기본 문법 - 정렬 (Sorting), 선택 정렬로 오름차순 내림차순 정렬하기 (1) | 2024.12.30 |
| Java 기본 문법 - break, continue, 탈출 루프를 지정하여 break, 2중 for 문 탈출 (0) | 2024.12.30 |
| Java 기본 문법 - (순환문) while 문, 이중 while 문, do - while 문 (1) | 2024.12.30 |