티스토리 뷰
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 |
댓글
최근에 올라온 글
최근에 달린 댓글
TAG
- 20200403
- 20200503
- 20200425
- 20201204
- 20200319
- chapter7
- 20200413
- 백준
- 20200423
- 20200512
- 20200417
- chapter8
- 20200421
- 20200429
- 20200622
- 20200804
- 20200406
- 20200330
- 20200420
- 20200428
- 20200424
- 20200427
- 20200415
- 20200502
- 20200624
- 20200504
- 20200317
- 20200510
- likelion
- 생활코딩리눅스
- Total
- Today
- Yesterday