[Java] 노트정리 : 함수(function, method)

Young eee·2022년 12월 23일

Java

목록 보기
9/22
post-thumbnail

📖 함수

  • 절차지향적이며 각각의 처리들을 묶어준다
  • 들어가는 값 -> 인수, 인자, parameter로 불리며 0~n개까지 들어갈 수 있다
  • 나오는 값 -> return value -> 0 ~ 1개까지 나올 수 있다
  • function : 독립적인 처리자
  • method : class에 소속되어있는 함수

※API(Application Programming Interface)란? 누군가 만들어 놓은 함수들을 모아놓은 것

💻 함수 Ex.

		/*
			형식 :	(자료형)
		 			return값 함수명(parameter(매개변수),인수,인자){
		 				
		 				처리코드
		 				
		 				return 값;
		 			
		 			}
		 */
         
 public static void main(String[] args) {
 
		// 1.
		functionName();	// 함수 호출 방법
        
		// 2.
		functionOne(5);	// -> argument
        
		//3.
		String s = functionTwo();	// return value와 동일한 변수를 설정
		System.out.println(s);
        
		//3-1.
		int arrNum[] = functionThree();
		System.out.println(Arrays.toString(arrNum));
        
		//4.
		int num = functionFour(7);
		System.out.println("num = " + num);
        
		//5.	
		int n = functionFive('o', "hello");
		System.out.println("n = " + n);
		
        //연습
		char c = 'A';
		System.out.println((int)c );	//강제 cast변환 -> 아스키코드 값 확인 가능
		
		int cNum = 65;
		System.out.println((char)cNum);	// 65
		
		char c1 = 'A';
		char rc = lowerCase(c1);
		System.out.println("rc = " + rc);
		
	}
	
	//1. 들어가는 값도 없고 나오는 값도 없는 함수
	static void functionName( ) {
		System.out.println("functionName 호출");
			
	}
	
	//2. 하나 들어가고 나오는 값이 없는 함수
	static void functionOne(int n) {	// n -> parameter , 매개변수는? int 1개
		System.out.println("functionOne 호출 n = " + n);
	}
	
	//3. 들어가는 값은 없고 나오는 값이 있는 함수
	static String functionTwo() {
		String str = "hello";
		
		return str;
	}
    //3-1. 들어가는 값은 없고 나오는 값이 있는 함수
	static int[] functionThree() {
		int number[] = { 100, 200, 300 };
		
		return number;
	}
	
	//4. 들어가는 값 O, 나오는 값O
	static int functionFour(int n) {
		int r;
		r = n * 2;
		return r;
	}
	
	//5. 들어가는 값 여러개, 나오는 값 1개
	static int functionFive(char c , String s) {
		
		int r = s.indexOf(c + "");
		
		return r;
	}
	
	/*
    	연습.
			알파벳 A, B, C... -> a, b, c
			대문자를 소문자로 변경해서 돌려주는 함수
	 */
	
	static char lowerCase(char c) {
		int n = (int)c;
		int r = n + 32;		//A = 65, a = 97이기때문에 + 연산처리
		
		return (char)r;
	}
}

💡 random

		// random(난수, 무작위) -> 나오는 값만 있음
		int rnum = (int)(Math.random() * 3);	// 0 1 2
		System.out.println("rnum = " + rnum);
		
		// 0 ~ 9
		rnum = (int)(Math.random() * 10);
		System.out.println("rnum = " + rnum);
		
		// 10 20 30 40 50
		rnum = ((int)(Math.random() * 5) + 1) * 10;
		System.out.println("rnum = " + rnum);

💡 replace

		String str1 = "abc*abc*abc";
		String replaceStr = str1.replace("*", "-");
		System.out.println(replaceStr);

📌 매개변수

  • 함수의 매개변수로 넘겨주는 경우
    변수 -> value를 넘겨줌
    배열 -> address를 넘겨줌

💻 변수/배열 매개변수 Ex.

public static void main(String[] args) {
		
		// 실제로 사용(호출)
		int num = 3;
		funcOne(num);	//함수 안에서 처리 num = 6
		System.out.println("num = " + num);	//함수 밖에서 처리 num = 3
		
		int arr[] = new int[1];
		arr[0] = 3;
		funcTwo(arr);	//함수 안에서 처리 arr = 6
		System.out.println("arr[0] = " + arr[0]);	//함수 밖에서 처리 arr=  6
		
		int arrNum[] = { 1, 2, 3, 4, 5 };
		
		funcThree(arrNum);
		System.out.println(Arrays.toString(arrNum)); 	// { 2, 4, 6, 8, 10 }
	}
	
	static void funcOne(int num) {	// 함수의 정의
		num = num * 2;
		System.out.println("num = " + num);
	}
	
	static void funcTwo(int array[]) {	// 함수의 정의
		array[0] = array[0] * 2;
		System.out.println("array[0] = " + array[0]);
	}
	
	static void funcThree(int arrNum[]) {
		for(int i = 0; i < arrNum.length; i++) {
			arrNum[i] = arrNum[i] * 2;
		}
	}
	

}

0개의 댓글