자바 매소드(method) 기초 질문
조회수 582회
안녕하세요 자바를 배우는 초보 입니다.
adder 라는 매소드를 만들어서 a+b 라는 값을 return 을 하고싶은데 int c= adder 에서 빨간줄 오류가 뜨네요 왜이럴까요? 뭐가 문제인가요 ㅠ
public class add {
public int adder(int a,int b){
return a+b;
}
public static void main(String[] args){
int c= adder(10,20);
}
}
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
자바서적에 보면 static 에 대해서 잘 나올겁니다.
일단 답은 static 메소드안에서는 static 한 것만 호출이 가능합니다.
질문자는 static 메소드안에서 adder 인 인스턴스 메소드를 호출했으므로 안되는 겁니다. 인스턴스 메소드는 꼭 new 키워드로 인스턴스를 만들고 해당 인스턴스를 통해서만 호출 할 수 있습니다.
훗날 자바에 경험이 쌓이면 this 라는 것을 유심히 살펴보기 바라고 jvm 에서 바이트코드가 실행되는 과정도 꼭 학습하시기 바랍니다.
public class add { public int adder(int a,int b){ return a+b; } public static void main(String[] args){ add temp = new add(); int c= temp.adder(10,20); } }
댓글 입력