TIL 20240705
큼큼
요새 정처기 공부를 조금씩 하고 있는 중이다....
그래서 공부하다가 잘 이해가 안되는 코드 문제를 정리를 해보려고 한당
이러한 문제인데,,,
에러가 발생한 구간이 어디인지 보는 문제였다...
나는 사실 이 문제를 풀었을 당시 왜 정답이 7번 라인인지에 대해 자체를 이해하지 못했다....
이게 6번 라인에는 static 붙어있는데 클래스 내에 있는 name 필드엔 static이 붙어있지 않아서
정적 변수가 아니면 정적 메서드에서 호출을 못하기 때문이다.
즉, 6번이 에러가 나는 결정적인 이유인데 왜 6번이 아닌 7번이 정답이냐고?
name을 return 해주기때문에 오류가 발생하는 것이기 때문이다... ㅎㅎ
반대로 메서드에서 정적 변수를 호출하는 것은 가능할까?
가능하다!
아! 그리고 이 문제가 get이 리턴하는 부분이 static 한 영역에 있는 필드가 아니라 참조가 불가해서 초기화 시 오류가 발생하는 거라고 한다... ㅋㅋㅋㅋ
실질적으로는 public static String get()이런 형식도 많이 쓰긴 한다고 한다!
아 저기 써있는 fliweight patten은 flyweight patten을 오타낸것 같고,,
왠지 다른 블로그나 찾아보는데 public static String get() 이렇게 쓰는데 무난히 쓰는 것 같은데?
왜 에러가 뜰까? 라고 찾아보는 차에 저걸 발견했다...
우선적으로 정처기를 공부한다고 자세한 static에 관련 자바 강의를 아직 듣기 전이지만정처기 끝나면 얼른 공부해야겠다,,, 헷갈려,,