생활
static메소드 관련 질문입니다.
static 메소드에는 static 변수는 들어갈 수 있는데 일반 변수는 들어갈 수가 없는데
생각해보면 메소드가 선언이 되면 다른 인스턴스에서 호출이 가능해야 하는데
변수는 접근제어지시자에 의해 클래스에서만 호출이 가능할수도 있고 같은 패키지 내에서도 실행이 될수도 있습니다
그렇다면 변수가 public으로 선언될 경우는 static메소드에 들어갈 수 있어야 된다고 생각하는데
이게 되지 않는 이유가 궁금합니다
class AAA
{
int num1;
static int num2;
static void changenum()
{
num1++; // 에러발생
num2++; // 정상실행
}
}
인데 int num1;을 public int num1;로 바꾸어도 실행이 되지 않는 이유가 궁금합니다