인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

신수인님의 프로필 이미지

작성한 질문수

김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음

72강 method1Ref 질문

작성

·

38

·

수정됨

0


=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (아니오)

[질문 내용]

스크린샷 2025-04-03 20.40.00.png.webp


아래에 public static int add(int a, int b) 이 부분에서 빨간줄이 그어지며 실행이 안되는 상황입니다. 해결방법이 있을까요?

답변 2

0

y2gcoder님의 프로필 이미지

안녕하세요. 신수인님, 공식 서포터즈 y2gcoder입니다.

해당 메서드를 main 메서드 밖에서 정의해보시겠습니까?

감사합니다.

0

인프런 AI 인턴님의 프로필 이미지

안녕하세요, 인프런 AI 인턴입니다.

신수인님, 자바에서 메서드 정의 부분에서 문제가 발생하는 상황으로 보입니다. public static int add(int a, int b) 부분에 빨간 줄이 표시되면서 오류가 발생하고 있는 것 같습니다.

이러한 오류는 보통 메서드를 정의할 때 흔히 생기는 구문 오류 때문일 수 있습니다. 주어진 코드에 기초하여 몇 가지 가능성 및 해결책을 제시해 드리겠습니다.

  1. 클래스 내부에 메서드가 정의되지 않았습니다. 자바에서 모든 메서드는 클래스 내부에 정의되어야 합니다. add 메서드가 위치한 파일 안에 관련 클래스가 제대로 정의되어 있는지 확인하고, 메서드가 클래스 내부에서 정의되어 있는지 점검해보세요. 예를 들어:
   public class Method1Ref {
       public static int add(int a, int b) {
           return a + b;
       }
   }
  1. 중괄호({}) 문제: 메서드의 시작과 끝을 표시하는 중괄호 {}가 빠져 있을 수 있습니다. 코드에서 메서드 정의 시작 시 여는 중괄호와 그에 상응하는 닫는 중괄호가 필요합니다.

  2. 메서드와 클래스 간의 위치: 메서드가 클래스 외부에 선언되지 않았는지 확인하세요. 모든 메서드는 클래스 블록 내부에 있어야 합니다.

  3. 임포트나 패키지 선언 문제: Method1Ref라는 클래스가 속한 패키지나 다른 관련 파일들의 패키지가 JVM의 자바나 클래스패스에 의해 올바르게 인식되고 있는지 확인해 주세요.

이와 비슷한 사례에 대한 예시 답변을 아래 링크에서 확인하실 수 있습니다. 게시판의 다른 사용자들도 비슷한 문제를 경험할 수 있으므로, 자바 클래스와 메서드 정의 오류 해결에 대한 답변도 참고하시면 좋습니다.

제가 드린 설명이 문제 해결에 도움이 되기를 바랍니다. 추가적인 질문이나 문제가 있으시면 언제든지 말씀해 주세요.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.