Java

Java - 함수의 정의 ( 데이터타입, 함수명, 파라미터 )

왕현성 2023. 1. 18. 12:53
728x90

1. 함수

  • 입력 값으로 어떤 일을 수행한 뒤 결과 값을 출력하는 것

2. 함수의 형식 (정의)

3. 함수의 리턴값 형식

  • 리턴값을 가지지 않는 경우
    • void test_func() : 리턴값을 가지지 않는 함수, 앞에 void 정의
	// 숫자를 입력받으면 해당 숫자만큼
	// 화면에 "안녕하세요~"를 출력하는 함수를 만드세요.
	
	void printHello(int count) {
		
		for(int i=0;i<count;i++) {
			System.out.println("안녕하세요");
		}
	}
  • 리턴값을 가지는 경우
    • 리턴값이 있는 함수는 반드시 리턴값을 정의
    • 데이터 타입을 함수 앞에 정의하면 해당 데이터 타입의 리턴 값을 가짐 
	// getNumber(2,3); => 8
	int getNumber(int a,int b) {
		int result = 1;
		for(int i=0;i<b;i++) {
			result=result * a;
		}
		return result;
	}

4. 함수의 파라미터

  • 파라미터의 수에 따라 함수 호출시 주의

 

// 정의된 파라미터가 없는 함수
void FuncTest(){
	System.out.print("hello");	
}

// 정의된 파라미터가 1개인 함수
int FuncTest2 (int num) {
	return num;
}

// 정의된 파라미터가 2개인 함수
int FuncTest2 (int num, int num2) {
	int result;
    result = num + num2;
	return result;
}

5. 함수의 호출

  • 함수가 포함되어 있는 클래스를 객체화
    • FuncTest ft = new FuncTest();
  • 객체 뒤에 점(.)을 이용하여 함수를 호출
    • ft.add();
  • 함수 호출시 반드시 함수에 정의된 파라미터 갯수만큼 값을 넣어주어야 함
    • ft.add(3,4);
public class FuncTest {

	// 파이썬에서 함수를 만드는 방법
//	def add(a,b) :
//		total = a + b
//		return total
	//  add(3,4)
	
	int add(int a,int b) {
		int total = a + b;
		return total;
	}
	
	String GetGrade(int size) {
		if(size>=16 && size<= 30) {
			return "A";
		}
		else if(size>=8 && size<=15) {
			return "B";
		}
		else if(size>=1 && size <= 7) {
			return "C";
		}
		else {
			return "사이즈가 이상합니다";
		}		
	}
	// getNumber(2,3); => 8
	int getNumber(int a,int b) {
		int result = 1;
		for(int i=0;i<b;i++) {
			result=result * a;
		}
		return result;
	}
	
	// 숫자를 입력받으면 해당 숫자만큼
	// 화면에 "안녕하세요~"를 출력하는 함수를 만드세요.
	
	void printHello(int count) {
		
		for(int i=0;i<count;i++) {
			System.out.println("안녕하세요");
		}
	}
	
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		FuncTest ft = new FuncTest();
		
		System.out.println(ft.add(3,4)) ;
		
		int result = ft.add(5, 10);
		
		System.out.println(result);
		
		String grade=ft.GetGrade(17);
		
		System.out.println("등급은 :"+grade+" 입니다");
		
		ft.printHello(7);
		
		System.out.println(ft.getNumber(2, 3));
		
		
		

	}

}