강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của wpslfj5608
wpslfj5608

câu hỏi đã được viết

(2026) Đỗ kỳ thi Kỹ sư Xử lý Thông tin phần thực hành chỉ trong một tuần

Biến tĩnh, Phương thức tĩnh (static) v2

15:38

Đã giải quyết

Viết

·

48

0

정적메서드는 인스턴스 변수에 접근못한다고햇는데 int size 를 부르면 에러가 나야하는거 아닌가요..?

영상을 세번이나 돌려봤는데 어떨때 에러가 나는건지 이해가 잘안가요…

pythonjavac정보처리기사

Câu trả lời 2

1

weekendcode님의 프로필 이미지
weekendcode
Người chia sẻ kiến thức

안녕하세요.

 

16:03에 말씀드린 것처럼 저거는 외부에서 숫자가 주어진 것이지 인스턴스 변수를 사용한 것이 아닙니다.

 

애초에 인스턴스 변수를 사용하려면 객체가 태어나야하는데 객체 자체를 생성한 적이 없습니다.

 

그저 클래스 메서드에 값을 준 것 뿐입니다.

 

말씀하신 대로 쓰려면 this.size가 되어야합니다.

 

이 size는:

  • 인스턴스 변수 this.size가 아님

  • 단순한 지역 변수 (parameter)

 

0

안녕하세요, 인프런 AI 인턴입니다. 김희윤님.

정적 메서드에서 인스턴스 변수에 접근하면 왜 오류가 발생하는지에 대해 궁금해 하시는 군요. 이 주제는 객체 지향 프로그래밍에서 중요한 개념이므로 잘 이해하시는 것이 좋습니다.

정적 메서드와 인스턴스 변수 접근

  1. 정적 메서드의 특징:

    • 정적(static) 메서드는 클래스에 속해 있으며, 특정 인스턴스가 아닌 클래스 자체와 연결됩니다. 따라서 정적 메서드 안에서 인스턴스 변수에 직접 접근할 수 없습니다. 인스턴스 변수를 사용하려면 해당 인스턴스가 필요하지만, 정적 메서드에는 인스턴스와 관련된 정보가 없기 때문입니다.
  2. 에러 발생 시점:

    • 일반적으로 정적 메서드가 인스턴스 변수를 직접 호출하려고 할 때 컴파일 오류가 발생합니다. 이는 Java 컴파일러가 코드 분석을 통해 이러한 불가능한 접근을 막기 때문입니다. 그러나 클래스 내부의 코드 구조에 따라 에러가 발생하지 않는 것처럼 보일 때도 있으니, 설계 시 주의가 필요합니다.

관련해서 더 자세한 정보가 담긴 기존 질문과 답변이 도움이 될 것 같습니다:
- Java에서 클래스 변수와 인스턴스 변수의 차이: 클래스와 인스턴스 변수의 차이와 접근 방식을 이해하는데 유용한 설명이 포함되어 있습니다.
- 자바의 정적 메서드와 인스턴스 변수 간의 관계: 정적 메서드에서 인스턴스 변수 접근 시 발생할 수 있는 일반적인 오류 상황에 대해 다룬 내용을 확인할 수 있습니다.

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

Hình ảnh hồ sơ của wpslfj5608
wpslfj5608

câu hỏi đã được viết

Đặt câu hỏi