[Java] Methods

임혜정 ·2021년 5월 13일
0

Java

목록 보기
5/16

method : 어떠한 기능을 하는 문장을 하나로 묶은 것

  • c와의 차이점

    • 반드시 클래스에 부속되어 정의된다
    • ex) class.method
  • 장점

    • 재사용이 가능하다.
    • 같은 class에서는 c언어처럼 호출 가능하다.
    • 다른 class에 정의되어있는 메소드를 호출하려면 classname.methodname 이런식으로 호출해야한다.

method header


public int max (int a, int b)
  • public : modifier
  • int : return value type
  • max : method name
  • (int a, int b) : parameters

method body


method body 는 method에 대한 자세한 구현을 숨겨놓은것과 같은 black box로 생각 할 수 있다.


함수 만드는 방법


  1. input이 무엇인지 확인한다.
  2. 해당 input의 자료형이 무엇인지 확인한다.
  3. 결과가 무엇인지 확인한다.
  4. 결과의 자료형은 무엇인지 확인한다. <- 이것이 반환형이된다
class Bar{
	public int add(int x, int y) {
		return x+y;
	}
	
	public static void classMethod() {
		System.out.println("클래스메소드 호출 ");
	}
}


public class Main {
	
	public static void main(String[] args) {
		
		Bar.classMethod(); //class method 호출 가능
		//Bar.add(1,2) -> 클래스 호출 불가능 
		
		Bar bar = new Bar();
		System.out.println(bar.add(1, 2));

	}
}
public class Main {
	
	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 calSum() {
		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);
		System.out.println(total);
		
		sayHello("이매정이매정이매정 ");
		
		int num = calSum();
		System.out.println(num);

	}
}

Call Stacks


  • main(caller) 과 addNum(callee)사이에는 값을 주고 받기 위해 공간이 필요하다 (기본)

    • return value
    • parameters
  • 프로그램 수행 메모리 할당은 메소드 단위다.

    • 호출되면 -> 모든 메모리 할당한다,
    • 종료되면 -> 반환한다

profile
포기하지 않고 끝까지 🐥

0개의 댓글

관련 채용 정보