작성
·
434
·
수정됨
1
안녕하세요. 좋은 강의 잘 듣고 있습니다.
현재 인텔리제이에서 src/main/kotlin 폴더를 만들어서 강의를 따라가고 있습니다.
2강 강의를 듣던 도중 println(str?.length) 를 실행해보려고 main 함수를 실행시켰더니 빌드가 되면서 에러가 발생합니다.
lec12 패키지의 Lec12Main class에서
error: package Person does not exist 가 발생합니다.
Run Configuration에서 Run이 되기 전에 Build를 안 하게 옵션을 바꿔주면 함수가 실행은 되지만 str에 null을 넣었을 때도 길이가 3이 나오는 기이한 현상이 발생합니다.
어떻게 해결하는 것이 좋을까요?
(일단은 에러가 나는 부분을 주석처리하고 강의를 진행하고 있습니다!)
답변 1
1
안녕하세요 JUNN님!!! 좋은 질문 올려주셔서 감사드립니다!!! 😊
우선 2가지를 나누어 답변 드려보겠습니다!!!
[1. Main 함수 에러]
lec12 패키지의 Lec12Main class에서
error: package Person does not exist 가 발생합니다.
아이고~~ 이 부분은 github에 올라가 있는 버전으로 에러가 나는게 맞습니다!!! github에 올려드린 java 코드들은 제가 강의 촬영을 위해 그때그때 타이핑 했던것들을 단순히 올려둔거라, 확인해보니 에러가 나고 있더라고요!! 😭 주석처리 하고 진행해주시면 될 것 같습니다!!! (최신 github에는 다른 분께서 이 부분을 PR 올려주셔 반영되어 있습니다!)
[2. Build 없이 Run 하는 경우에 3이 나오는 문제
Run Configuration에서 Run이 되기 전에 Build를 안 하게 옵션을 바꿔주면 함수가 실행은 되지만 str에 null을 넣었을 때도 길이가 3이 나오는 기이한 현상이 발생합니다.
제 생각에는 build
를 해야 str에 null이 들어간 것이 컴파일이 되고, str에 null이 들어 있는 버전으로 실행되는 것 같아요!!
Kotlin을 돌려보실 때에 build -> run 순서로 해주시면 모든 코드를 정상적으로 돌려보실 수 있을 것 같습니다 ㅎㅎㅎ
혹시나 또 궁금한 점 있으시면 편하게 질문 남겨주셔요!!
항상 감사드립니다!! 🙇🙇
답변 정말 감사드립니다!!