자기소개서를 작성 중, 재귀함수 소재를 사용하기 위해 실습을 진행하고 있었다.
간단한 코드를 작성하고 이에 대해 다시 이해하고 작성하려고 코드를 입력했는데, 오류가 발생했다.
public class main
{
public int factorial(int n) { //static 선언을 하지 않아 오류가 발생한다.
if (n > 1) return n * factorial(n - 1);
else return n;
}
public static void main(String[] args)
{
System.out.println(factorial(5));
}
}
이에 대해 검색해보니 다음과 같은 정보를 얻을 수 있었다.
- Static 메소드는 인스턴스 생성 없이 호출이 가능하다. (생성 후 호출도 가능하지만 지양)
- 유틸리티 관련 함수를 만드는 데 유용하다.
즉, static를 적어주지 않은 메소드는 non-static이기 때문에, 인스턴스를 생성하고 사용해야 한다.
(new List<>와 같은 형태인듯)
--> 따라서 위처럼 static을 적지 않으면 오류가 발생함.
나중에 면접에서 물어볼만한 소재인 듯 하고, Java를 다룬다면 기본으로 알고 있어야 할 것 같다.
자세한 정보는 이 블로그를 참고하자. (링크 >)