Java/Java 수강일지

[수강일지_10] function (함수)

jamk-diary 2026. 5. 21. 18:14

c드라이브에 java2 생성 

이클립스 브라우저 java 2에 연결하여 실행 

탭에서 계획표처럼 생긴 거 눌러서 java 클릭  모듈 해제  java 17로 세팅 


지난 시간 복습하기 

함수란? 

; 입력, 처리, 결과 3단계를 통해 무언가를 넣고(parameter) 처리하고 결과를 내보내는(return) 기계라고 생각하기 

 

-> 특정 작업을 수행하기 위해 코드를 하나로 묶어놓은 기능 단위

-> 입력받고 처리하고 결과를 돌려주는 작업 박스

-> 반복되는 코드를 재사용하기 위해 존재

 

package sample25;

Function : 함수 

들어가는 값 (들) -> parameter,매개변수, 인수, 인자

처리 (함수 안 )

나오는 값 -> return

 Function : 형식

static double function

함수의 호출

double d= function(3); // 3-> argument // 2. 함수를 호출 : function 기계에 3을 넣어!

System.out.println("d=" +d);  double d = 돌아온 결과를 d컵에 담아서 내보내면 d = 1.5

함수의 정의

함수명 -> function

parameter : int (정수) 

return 값 : double (소수)

내용: 정수를 2로 나눈 기능을 하는 함수

 

static double function (int num) { //  1.정수를 넣으면 소수를 돌려주는 기계 

double rnum;

rnum = (double)num/2 ; // 3. 함수 실행 

 

return rnum; // 4. 결과를 밖으로 내보내

}


parameter(매개변수)

 

*int num  은 파리미터에 해당한다. = "매개 변수"

함수 안에서 사용할 입력값 보관컵

예:

 
function(3)
 

하면:

3이 num 안으로 들어감

 

 

. void 뜻

 
void
 

영어 뜻:

비어있음
 

.


즉:

return 값 없음
 

이라는 뜻.

static void function()
 

.

뜻:

결과 안 돌려주는 함수
 

.

그냥 실행만 함.

 

함수의 호출

parameter 가 없는 함수

// return value 가 없는 함수

public static void main(String[] args) {

function();   function();-> 아무것도 안 넣고 실행

}

static void function() {

System.out.println("function() 호출");

}

}

 

public static void main(String[] args) {

// parametera만 있는 함수

function(3, 'A', 123.456);

 

int array[] = {1,2,3};

functionone(array); -> 배열 전달 :배열 서랍장을 함수에게 넘겨주기

}

 

static void function(int i, char c , double d ) {

System.out.println(i +" "+c+" " +d);

System.out.println("function(int i, char c , double d ) 호출");

}

 

static void functionone(int arr[]) {

for (int i = 0; i < arr.length; i++) {

System.out.println(arr[i]);

}

}

====================================

3 A 123.456

function(int i, char c , double d ) 호출

1

2

3

 


 

public static void main(String[] args) {

// parametera만 있는 함수

function(3, 'A', 123.456);

 

int array[] = {1,2,3};

functionone(array);

System.out.println(Arrays.toString(array));

}

 

static void function(int i, char c , double d ) {

System.out.println(i +" "+c+" " +d);

System.out.println("function(int i, char c , double d ) 호출");

}

 

static void functionone(int arr[]) {

for (int i = 0; i < arr.length; i++) {

// System.out.println(arr[i]);

arr[i] = arr[i] *2;

}

}

 

==========================================

3 A 123.456

function(int i, char c , double d ) 호출

[2, 4, 6]

 


public static void main(String[] args) {

// parametera만 있는 함수

function(3, 'A', 123.456);

 

int array[] = {1,2,3};

functionone(array);

System.out.println(Arrays.toString(array));

 

int n=1;

int array1[] = {1,2};

functionTwo(n, array1);

System.out.println("n=" + n);

System.out.println(Arrays.toString(array1));

}

 

static void function(int i, char c , double d ) {

System.out.println(i +" "+c+" " +d);

System.out.println("function(int i, char c , double d ) 호출");

}

 

static void functionone(int arr[]) {

for (int i = 0; i < arr.length; i++) {

// System.out.println(arr[i]);

arr[i] = arr[i] *2;

}

}

                                 value 할당, address(reference)

static void functionTwo (int n, int arr[]) {

n= n*2;

 

for (int i = 0; i < arr.length; i++) {

arr[i] = arr[i] *2;

 

}

}

=========================================

function(int i, char c , double d ) 호출

[2, 4, 6]

n=1

[2, 4]


public static void main(String[] args) {

// parametera만 있는 함수

function(3, 'A', 123.456);

 

int array[] = {1,2,3};

functionone(array);

System.out.println(Arrays.toString(array));

 

int n=1;

int array1[] = {1,2};

functionTwo(n, array1);

System.out.println("n=" + n);

System.out.println(Arrays.toString(array1));

 

char ch [] = { 'A' , 'B' , 'C' };

double arr[] = {1.2, 2.3, 3.4};

functionThree(ch, arr);

 

System.out.println(Arrays.toString(ch));

System.out.println(Arrays.toString(arr));

}

 

static void function(int i, char c , double d ) {

System.out.println(i +" "+c+" " +d);

System.out.println("function(int i, char c , double d ) 호출");

}

 

static void functionone(int arr[]) {

for (int i = 0; i < arr.length; i++) {

// System.out.println(arr[i]);

arr[i] = arr[i] *2;

}

}

// value 할당, address (reference)

static void functionTwo (int n, int arr[]) {

n= n*2;

 

for (int i = 0; i < arr.length; i++) {

arr[i] = arr[i] *2;

 

}

}

static void functionThree(char ch[], double arr[]) {

for (int i = 0; i < ch.length; i++) {

ch[i] = (char)((int) ch [i] + 32);

}

for (int i = 0; i < arr.length; i++) {

arr[i] = arr [i] *10;

}

}

}

=================================

3 A 123.456

function(int i, char c , double d ) 호출

[2, 4, 6]

n=1

[2, 4]

[a, b, c]

[12.0, 23.0, 34.0]

 


parameter 는 없고 return value 값만 있음

public static void main(String[] args) {

// parameter 는 없고 return value 만 있음

 

int num = function();

System.out.println(num);

}

static int function () {

int number = 3;

 

return number;

 

}

}

==================================================

3


public static void main(String[] args) {

// parameter 는 없고 return value 만 있음

 

int num = function();

System.out.println(num);

 

double d = (int)(Math.random()*3);  

System.out.println(d);

}

static int function () {

int number = 3;

 

return number;

 

}

}

====================

3

2.0


public static void main(String[] args) {

// parameter 는 없고 return value 만 있음

 

int num = function();

System.out.println(num);

 

double d = (int)(Math.random()*3);

System.out.println(d);

 

int r = myRandom(3, 5);

}

static int function () {

int number = 3;

 

return number;

 

}

// int start 1 로 잡고,end를 5로 잡으면?

static int myRandom(int start, int end) {

int r = (int)(Math.random()* end)+ start;

return r;

}

}

=================================================================

3

0.0


public static void main(String[] args) {

// parameter 는 없고 return value 만 있음

 

int num = function();

System.out.println(num);

 

double d = (int)(Math.random()*3);

System.out.println(d);

 

int r = myRandom(3, 5);

 

int i = function();

System.out.println(i); //or System.out.println()

}

static int function () {

int number = 3;

 

return number;

 

}

// int start 1 로 잡고,end를 5로 잡으면?

static int myRandom(int start, int end) {

int r = (int)(Math.random()* end)+ start;

return r;

}

}

===============================

<div style="background-color