작성
·
289
·
수정됨
0
여기서 num이 2일때는 어떻게 진행되나요?
i=2 부터인데 i<2 일때 까지 작용하는 조건이잖아요
자연수가 2일때 이렇게 해도 정상적으로 작동되나요?
그리고 문법적인걸로 궁금한게 있는데
보통 Main 에서 solution 메서드 쓰기 위해서 T 를 통해서 객체에 접근하잖아요
그런데 이번에 isPrime에 접근할 때
왜 메인 객체를 생성하지 않고 접근이 가능한건가요?
main은 static에 올라가 있고 나머지 solition이랑 isprime은 non-static이라서 non-static 끼리는 서로 바로 이용이 가능한걸까요?
답변 1
1
안녕하세요^^
2는 for문이 돌지 않고 바로 return true; 문을 실행합니다.
non-static 메서드끼리는 따로 객체를 생성해서 호출하지 않아도 됩니다. non-static 메서드가 실행되고 있다는 뜻은 이미 클래스 객체(인스턴스)가 생성되어 non-static 메서드를 작동시키고 있다고 생각해야 합니다. 이렇게 이미 생성되어 solution 메서드를 호출한 객체를 this객체라고 하고 solution에서 isPrime를 호출할 때 실제는 this.isPrime()으로 호출하는데 this는 생략이 가능해서 주로 생략하고 호출합니다. 저는 이렇게 알고 있는데 정확한지는 모르겠습니다. 구글에서 "인스턴스 멤버와 this"로 구글링해서 공부해보세요.
이해가 확실히 됐습니다 감사합니다!!!