반복문 VS 함수
-> 공백없이(외부의 다른 수행없이) 여러번
-> 외부 다른 수행중에 또 특정 기능을 수행하고 싶을때
공통점 :
: "코드를 재사용"할수있게해줌
: 오류의 파급효과 절감
: 개발시간,비용단축
: 이익증가
: 유지보수 용이
함수끼리는 메모리 공간을 공유하지 않는다
4종류의 함수
A) input X output X
B) input O output X
C) input X output O
D) input O output O
public static String funcC() {
//함수 유형 C
System.out.println("funcC() 동작!");
return "apple"; //함수 즉시 종료됨!!!!! 반환시 메모리 해제
//System.out.println("funcC()의 마지막 코드"); 반환후 유효하지 않은 코드
}
public static void func(int b) {
b = 100;
System.out.println("func()입니다. b= "+b);
}
public static void main(String[] args) {
int a=10;
System.out.println("a= " + a);
func(a);
System.out.println("a= " + a);
func(++a);
System.out.println("a= " + a);
}
main 함수 메모리 공간 | func()함수 공간 | 변수 공간
main함수 메모리 공간에서 int a에 10을 대입 하고 그 값을
함수 func( )에 input으로 넣어준다 ---> func(a)
func( ) 함수 메모리 공간이 형성 되고 그 안에 int a 라는 변수 공간이 형성 된다
func( ) 함수는 10이라는 값을 인자로 받아 왔지만 그 인자 인 int a라는 저장 공간에
a = 100;으로 다시 대입을 해 주고 출력메소드를 통해 그 a를 출력한다
출력 결과 :
즉 main 함수에 있는 a 와 func( )함수에 있는 a는 다른 저장 공간이다.
public static void func(int b) {
b = 100;
System.out.println("func()입니다. b= "+b);
}
public static void main(String[] args) {
int a=10;
System.out.println("a= " + a);
func(a);
System.out.println("a= " + a);
func(++a);
System.out.println("a= " + a);
}
func( ) 함수 안에 인자로 받을 int a 라는 변수를 b로 바꿔도 결과는 같다 :