Software Development/Java

[Java] 함수(Function) / 메소드(Method), 호출하기, void 타입

Mei99 2024. 5. 31. 12:43

함수(Function)

: 어떤 동작들을 묶음으로 만들 수 있어서, 재 사용이 가능하게 만드는 것.

 

 

 

함수 만드는 순서
1. add : 메소드명 정하기

2. int a, int b : 파라메터(입력 변수의 데이터타입)

3. int c : 변수 생성(int+int = int 이기 때문에, 변수의 데이터 타입도 int)

4. c = a + b : 계산하기

5. return : 결과 반환하기

6. int : 함수타입 넣어주기(결과가 int 이기 때문에,  add의 타입 int)

 

public class FunctionTest {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

	}
	// 새로운 함수는 main함수 안에서 만드는 것 아님.
	
	//add(3,4) => 7을 리턴하는 함수
	
	//실행되는 것이 아니라 메모리에만 올라감.
	int add(int a, int b){
		int total = a+b;
		return total;
	}
}

 

 

 

함수 호출하기

public class FunctionTest {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
	
	FunctionTest ft = new FunctionTest();
		
	//함수 호출
	System.out.println(ft.add(3,4)); 
	}
}

 

 

 

void : return 값이 없을 때 사용하는 타입

public class FunctionTest {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
	
	FunctionTest ft = new FunctionTest();
	
	int count = 3;
	
	//printHello(count) => "안녕하세요"를 count 만큼 출력하는 함수.
	ft.printHello(count);	
	}
		
	// void : 리턴값이 없는 데이터 타입
	void printHello(int count){
		for(int i = 0; i< count; i++) {
			System.out.println("안녕하세요");
		}
	}
}

 

 

 

전체 코드

public class FunctionTest {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
	// 새로운 함수는 main함수 안에서 만드는 것 아님.
	
	FunctionTest ft = new FunctionTest();
		
	//함수호출
	System.out.println( ft.add(3,4)); //=> 7을 리턴하는 함수
	
	int count = 3;
	
	//printHello(count) => "안녕하세요"를 count 만큼 출력하는 함수.
	ft.printHello(count);
	
	ft.printData(); //=> "데이터가 없습니다."출력
	}
		
	void printData(){
		System.out.println("데이터가 없습니다.");
	}
	
	
	//실행되는 것이 아니라 메모리에만 올라감.
	int add(int a, int b){
		int total = a+b;
		return total;
	}
	
	// void : 리턴이 없다는 데이터 타입
	void printHello(int count){
		for(int i = 0; i< count; i++) {
			System.out.println("안녕하세요");
		}
    }
}

 

 

 

메소드(Method)

: 클래스 내에 정의된 함수

 

입력값 :

① 인자(Argument) : 어떤 함수를 호출시에 전달되는 값 

② 매개변수(Parameter) : 전달된 인자를 받아들이는 변수
결과값 : 리턴값

public class Student {
	
	String name;
	int kor;
	int eng;
	int math;
	int total; //총점
	double avg; //평균
	
	void calculate(){
		total = kor + eng + math;
		avg = total / 3.0;		
	}
	void print(){
		System.out.println(name +"의 총점은 " + total + "점이고, 평균은 " + avg + " 입니다.");
	}
}

 

 

 

메소드 호출하기

public class StudentTest {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		Student s1 = new Student();
		s1.name = "아이유";
		s1.kor = 90;
		s1.eng = 97;
		s1.math = 100;
		s1.calculate();
				
		Student s2 = new Student();
		s2.name = "홍길동";
		s2.kor = 80;
		s2.eng = 77;
		s2.math = 90;
		s2.calculate();
		
		s1.print();   // 메소드 호출
	}
}