본문 바로가기
백엔드개발자/JAVA: JAVA TPC 강의

변수와 메서드의 관계 (메서드는 변수다)

by 보혀니 2021. 9. 29.

변수와 메서드

변수 : 데이터를 한개만(한개의 형태) 저장한다.

int a=10;

 

메서드: 동작,기능을 한 후에 데이터를 한 개만 만들어낸다. 동작 후 저장.

int v=sum(10,30);

public int sum(int a, int b)  => 정의부 {   => 구현부

      return a+b;

}

 

 

public class 변수와 메서드 {

	public static void main(String[] args) {
//		메서드 -> 동작(method), 기능(function)
		int a = 50;
		int b = 10;
//		a+b = ?
		int result = sum(a, b);

		int[] arr = makeArr2();
	}

//	정수 2개를 매개변수로 받아서 총합을 구하여 리턴하는 메서드 정의하시오
	public static int sum(int a, int b) {
		int v = a + b;
		return v;
	}

//	메서드의 결과는 한개의 형태로 만들어내기 때문에
//	결과가 여러개인 이 경우는 안 됨 !
	public static int[] makeArr() {
		int x=10;
		int y=20;
		int z=30;
		
		return x,y,z;
	}

//	가능하게 하려면 이렇게 결과를 하나의 형태로 만들기
	public static int[] makeArr2() {
		int x = 10;
		int y = 20;
		int z = 30;
		int[] arr = new int[3];

		arr[0] = x;
		arr[1] = y;
		arr[2] = z;

		return arr;
	}
}

 

  변수와 메서드는 결론적으로 데이터를 한 개만 저장하므로 비슷하다.

 

 

 

메서드의 매개변수 전달기법

1. Call By Value (값 전달 기법)

2. Call By Reference (번지전달 기법)

public class 메서드 매개변수 전달기법 {

	public static void main(String[] args) {
		int a = 20;
		float b = 12.3f;
//		a+b=?
		sum(a, b);

//		생성과 동시에 초기화
//		총합을 구해라
		int[] arr = { 1, 2, 3, 4 };
//		arr에 번지가 저장되어있잖아.        
		int v = arrSum(arr);
	}
	
	
//	Call By Reference (번지전달 기법)
	private static int arrSum(int[] arr) {
		int hap = 0;
		for (int i = 0; i < arr.length; i++) {
			hap += arr[i];
		}
		return hap;
	}
	
//	Call By Value (값 전달 기법)
	private static float sum(int a, float b) {
		float f = a + b;
		return f;
	}

}