Notice
Recent Posts
Recent Comments
Link
drexqq
[Java, 자바] 함수(function, method), 가변인수 본문
728x90
반응형
Java의 함수에 대해서 알아보자.
function : 함수, 독립적인 프로세스
method : 함수, class에 포함되어 있는 함수
C언어 - function으로 이루어짐
Java - class로 이루어짐
목적 : 코드의 간락화, 같은 처리를 하는 코드의 집약화
함수는 간략히 5가지로 보자면
input (x) return(x)
input (o) return(x)
input input return
input (o) return (o)
input (x) return (o)
이 정도가 있다
input은 받는값 즉 파라미터, return은 말그대로 return이다.
package main;
public class mainClass {
public static void main(String[] args) {
/*
function : 함수, 독립적인 프로세스
method : 함수, class에 포함되어 있는 함수
C언어 - function으로 이루어짐
Java - class
목적 : 코드의 간락화, 같은 처리를 하는 코드의 집약화
가독성 : 이해하기 쉽게 작성하는
형식 인수, 인자, 매개변수, parameter
return 값(자료형), 함수명(자료형 가상연수, ...) {
처리
return 값; <- 없을 수도 있음
}
return 값(자료형) : char int doulbe init[] String void(return값이 없을때)
int funcName(char c, double d){
처리
return 값; <- 정수(int)
}
*/
function();
function1(12);
function2("My World", 123.123);
function2("You World", 456);
int returnValue = function3(4512.124);
System.out.println("main() returnValue = " + returnValue);
int asc = getASCIIcode('A');
System.out.println("asc = " + asc);
System.out.println(getASCIIcode('a'));
int num = function4();
System.out.println("num = " + num);
// random함수
int r = (int) (Math.random() * 10);
String str = "hello";
int len = str.length();
String aaa = "ABCdef";
String result = aaa.toUpperCase();
int arrNum[] = {1, 2, 3, 4, 5};
arrProcess(arrNum);
}
// void <- return값이 없다
static void function() {
System.out.println("function() 호출");
}
static void function1(int n) {
System.out.println("function1(int n) 호출");
System.out.println("파라미터 n의 값 = " + n);
}
static void function2(String str, double d) {
System.out.println("function2(String str, doubled) 호출");
System.out.println("str = " + str + ", d = " + d);
}
static int function3(double d) {
System.out.println("function3(double d) 호출");
System.out.println("d = " + d);
// double형이 더 크기 때문에 강제 형변환 해줘야함
return (int) d;
}
static int function4() {
System.out.println("function4() 호출");
return 12;
}
static int getASCIIcode(char c) {
return (int) c;
}
static void arrProcess(int[] arr) {
for (int i = 0; i < arr.length; i++) {
System.out.println("arr["+i+"] = "+arr[i]);
}
}
}
또한 함수에는 가변인수를 사용할 수 있다.
가변인수란 필요에 따라 파라미터(인수)값을 유동적으로 설정할 수 있는 인수이다.
// 점 반드시 세개
static void allocParam(int...num) {
int sum = 0;
for (int i = 0; i < num.length; i++) {
sum = sum + num[i];
}
// 배열과 비슷함, 근데 배열을 더 많이 사용함
System.out.println("합계 : "+sum);
}
// 일반 파라미터와 섞어서 사용 가능함
// 가변인수의 위치는 파라미터의 제일 뒷 부분에 위치해야함
// 개수가 정해져있지 않기때문에 뒤로 가야함
static void func(String str, int...num) {
System.out.println("str = " + str);
for (int i = 0; i < num.length; i++) {
System.out.print(num[i] + " ");
}
System.out.println();
}
728x90
반응형
'Back-End > Java' 카테고리의 다른 글
[Java, 자바] Overloading(오버로딩) (0) | 2020.06.01 |
---|---|
[Java, 자바] BufferedReader, BufferedWriter (0) | 2020.05.29 |
[Java, 자바] Sorting(정렬) - 선택 (0) | 2020.05.26 |
[Java, 자바] String클래스 (0) | 2020.05.26 |
[Java, 자바] wrapperClass (0) | 2020.05.26 |
Comments