Kotlin 게시판을 MVC 구조에 가깝게 짜면서 main에서 Controller, Model 부분을 분리했다.
Controller에서 Repository(Model)을 통해 호출하는 addWrite 함수가 있었고, 세션을 확인하는 loginedId 변수가 있었다.
loginedId는 초기값이 null인 Article 객체를 담고있고, Repository의 addWrite() 함수는 Controller에서 로그인이 되어야만 호출될 수 있는 조건이 있음에도 컴파일 시에는 addWrite() 함수 안에 loginedId의 Article객체의 변수를 직접 호출하는 부분이 NPE를 발생시켰다.
Controller에서 조건절을 통과해야만 참조가 가능한 함수였지만, 컴파일 시에는 문제가 된 것이다.
해결> loginedId: Article 객체의 변수를 Controller에서 Repository로 넘길 때, 파라미터로 지정했다.
요약> Controller, Model( Repository ) 단계에서 전역 스코프를 가진 변수나 객체를 참조할 때에 NPE가 발생하진
않을지 염두에 두어야한다.
'Records' 카테고리의 다른 글
2021-05-02 (0) | 2021.05.03 |
---|---|
2021-05-01 (0) | 2021.05.02 |
2021-04-29 (0) | 2021.04.29 |
2021-04-28 ( 파이썬 기초 ) (0) | 2021.04.28 |
2021-04-27 ( 파이썬 기초 ) (0) | 2021.04.27 |