함수와 메모리

stan·2023년 5월 8일
0

Java 개념

목록 보기
10/33
post-thumbnail

반복문 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로 바꿔도 결과는 같다 :

profile
이진 입니다

0개의 댓글

관련 채용 정보