package ch03;
class Data {
int num = 10;
}
public class MethodEx02 {
static void 증가(int num) {
num++;
System.out.println("증가 num : " + num);
}
// 값이 소중하다면 return을 하거나 heap에 옮겨담아야한다
static int 증가1(int num) {
num++;
System.out.println("증가 num : " + num);
return num;
}
static void 감소(int num) {
num--;
System.out.println("감소 num : " + num);
}
static void 감소1(Data d) {
d.num--;
System.out.println("감소1 num : " + d.num);
}
public static void main(String[] args) {
int myNum = 100;
증가(myNum); // call by value passing
System.out.println("myNum : " + myNum);
myNum = 증가1(myNum); // call by value passing
System.out.println("myNum : " + myNum);
Data data = new Data();
감소(data.num); // call by value passing
System.out.println("data.num : " + data.num);
감소1(data); // call by reference passing
System.out.println("data.num : " + data.num);
}
}
'Programming Language > Java' 카테고리의 다른 글
자바 String (0) | 2020.03.23 |
---|---|
자바for문 2의 승수 구하기, 구구단 (0) | 2020.03.23 |
자바 static, heap, stack 영역 구분 (0) | 2020.03.20 |
자바 함수 쓰는 위치 (0) | 2020.03.20 |
자바 기초 - 숫자 연산, ++, 조건문, if문, 논리연산자 (0) | 2020.03.20 |