자바 매소드(method) 기초 질문

조회수 584회

안녕하세요 자바를 배우는 초보 입니다.

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);
    }

}
  • (•́ ✖ •̀)
    알 수 없는 사용자
  • 빨간줄이 뜨면 해당 줄에 커서를 가져다 대면 왜 그렇게 뜨는지 설명이 나올겁니다. 그걸 확인해보세요. doodoji 2019.4.16 16:47

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);
        }
    
    }
    

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)