(함수반환형) 함수이름 (매개변수) {
수행문 ;
return 변수나 리터럴값;
}
✅ 매개변수 값은 없을 수도 있다. 대신 괄호 ()
는 써야함.
return
예약어를 통해 값을 반환할 수 있다.✅ 반환값이 없는 경우도 있다. 이때 함수 반환형은 void라고 쓴다.
➕return
예약어
1번의 목적으로도 쓰이지만, 함수를 종료하고 싶을때도 쓴다.
return문은 여러 개 존재할 수 있지만 반환되는 값은 return중 하나만 반환이 된다.
→ 반환타입이 void가 아닌 경우는 필수적으로 return문이 존재해야 한다.
필수는 아니지만 컴파일러가 자동으로 return문을 추가하는걸 보면 쓰는게 좋을 듯하다.
static
을 통한 클래스 메소드일때 클래스명.메소드명();
객체 생성시에만 메소드 사용가능
클래스명 참조변수명 = new 생성자;
참조변수명.메소드명();
✍️ 예시코드
class Dog {
public void wal () {
System.out.println("왈왈");
}
}
public class Method {
public static void main(String[] args) {
Dog roaDog = new Dog();
roaDog.wal();
}
}
👉 실행화면
왈왈
🔍메소드는 어떤 메모리 공간을 사용할까?
😁 답은 스택메모리!!
스택메모리
: 지역변수, 메소드의 매개변수와 같이 잠시 사용되고 필요가 없어지는 데이터가 저장되는 공간
함수가 호출되면 스택(stack)이란 메모리 공간을 사용하고, 함수의 수행이 끝나고 결과값이 반환되면 메모리공간은 사라진다.
👉 함수마다 서로 다른 메모리 공간을 사용하기 때문에 변수의 이름이 같아도 다른 변수이다.
함수 내부에서만 사용되는 변수를 지역변수라고 한다
✍️메소드 구현코드
class Dog {
//클래스 메소드 구현
public void wal () {
System.out.println("왈왈");
}
}
public class Method {
public static void main(String[] args) {
Dog roaDog = new Dog(); //클래스 생성
roaDog.wal(); //클래스 메소드 호출
}
}
👉 실행화면
왈왈
⚠️ 모든 클래스에 maia( )가 있는 것은 아니다.