본문 바로가기

DEVELOPER/Java

함수와 메서드

반응형

함수(function)


· 하나의 기능을 수행하는 일련의 코드

· 구현된 함수는 호출하여 사용하고 호출된 함수는 기능이 끝나면 제어가 반환됨

· 함수로 구현된 하나의 기능은 여러 곳에서 동일한 방식으로 호출되어 사용될 수 있음

 

함수 정의


함수는 이름, 매개 변수, 반환 값, 함수 몸체(body)로 구성

int add(int num1, int num2) {
		
	int result;
	result = num1 + num2;
	return result;
}

 

* 반환을 안 할 경우에는 void를 쓴다.

	//반환 값이 없는 경우
	public static void sayHello(String greeting) {
		System.out.println(greeting);
		
	}

 

	//반환만 하고 매개 변수가 없는 경우
	public static int calcSum()
	{
		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 calc = calcSum();
		System.out.println(calc);
	}

 

함수 호출과 스택 메모리


스택: 함수가 호출될 때 지역 변수들이 사용하는 메모리

함수의 수행이 끝나면 자동으로 반환되는 메모리

함수에서의 메모리 공간

 


메서드(method)


객체의 기능을 구현하기 위해서 클래스 내부에 구현되는 함수

멤버 함수(member function)이라고도 함

메서드를 구현함으로써 객체의 기능이 구현됨

메서드의 이름은 그 객체를 사용하는 객체(클라이언트)에 맞게 짓는 것이 좋음 ex) getStudentName( )

 

함수와 메서드의 차이


함수는 단독 모듈 ( 어디 속해 있지 않음 )

메서드는 클래스 안에 속함. 클래스의 멤버 변수를 활용해서 구현한 것

반응형

'DEVELOPER > Java' 카테고리의 다른 글

생성자(Constructor)  (0) 2021.04.19
인스턴스 생성과 힙 메모리  (0) 2021.04.19
객체와 객체 지향 프로그래밍  (2) 2021.04.19
Break문 & Continue문  (0) 2021.04.18
중첩 반복문  (0) 2021.04.18