티스토리 뷰

Goal 

 - 함수의 정의와 구현 방법을 알아본다

 - 함수와 메서드의 차이를 알아본다.

 - 스택 메모리에서 메서드가 실행되는 구조를 알아본다.

1. 함수 (function)

 - 하나의 기능을 수행하는 일련의 코드

 - 함수는 호출하여 사용하고 기능이 수행된 후 값을 반환 할 수 있음

 - 함수로 구현된 기능은 여러 곳에서 호출되어 사용될 수 있음

 

2. 함수 정의 하기

 - 함수는 이름, 매개변수, 반환 값, 함수 몸체(body)로 구성 됨.

 - 함수는 매개변수와 반환 값이 없는 경우도 있음. 반환 값이 없는 경우에는 함수 이름 앞에 void를 선언해야 함.

int add (int a, int b) {
	
    int result = 0;
    result = a + b;
    return result;
}

 

3. 함수 구현 예제

 - 반환값과 매개변수의 유무에 따른 함수 구현 

package classpart;

public class FunctionTest {
	
        // 반환값 + 매개변수 둘다 존재
	public static int addNum (int num1, int num2) {
		int result;
		result = num1 + num2;
		return result;
	}
	
	// 반환값이 없는 메서드
	public static void sayHello(String greeting) {
		System.out.println(greeting);
	}
	
	// 매개변수가 없는 메서드
	public static int calcSum() {
		
		int sum = 0;
		int i;
		
		for (i = 0; i <= 100; i++) {
			sum += i;
		}
		
		return sum;
	}

	public static void main(String[] args) {
		
		int n1 = 10;
		int n2 = 20;
		// 함수는 호출을 해야 사용할 수 있음
		
		int total = addNum(n1, n2);
		//String hello = sayHello("Hello"); 
                //sayHello는 반환값이 없는 함수이기 때문에 변수로 값을 받을 수 없음.
		int num = calcSum();
		
		sayHello("Hello");
		System.out.println(total);
		System.out.println(num);
		
	}

}

 

4. 메서드 (Method)

 - 객체의 기능을 구현하기 위해 클래스 내부에 구현되는 함수

 - 메서드를 구현함으로써 객체의 기능이 구현 됨

 - 메서드의 이름은 사용하는 쪽(클라이언트 코드)에 맞게 명명하는 것이 좋음. 

 ex) getStudentName() (camel notation)

 

5. 메서드와 메모리 

 - 함수를 호출하면, 함수에서 사용하는 메모리는 stack메모리 인데

 - stack은 짐이 쌓여있는 형식으로 선입후출이다

 

 

'Java > Java 올인원 패키지' 카테고리의 다른 글

5. 접근 제어자, 정보은닉 (Java)  (0) 2020.03.14
4. 참조 자료형 (reference data type)  (0) 2020.03.14
3. 생성자 (Java)  (0) 2020.03.14
1. 클래스와 객체 (Java)  (0) 2020.03.13
15. 다형성, 형변환 (Java)  (0) 2020.03.13
댓글