인프런 커뮤니티 질문&답변

장포니님의 프로필 이미지
장포니

작성한 질문수

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

기본기 관련 문의 드립니다.

해결된 질문

작성

·

154

0

강사님 안녕하세요. 

먼저 양질의 강의를 무료로 제공해주신 덕분에 스프링 부트에 대한 두려움을 어느 정도 해소할 수 있게 해 주셔서 감사함을 전하고 싶습니다. 

저는 자바에 대한 기본적인 문법 정도만을 알고 있는 학생입니다. 그래서 어떻게 응용하는지에 대한 지식이 전무한 것 같습니다. 강의를 보는 중간중간 정지시켜놓고 많은 생각을 하게 되는데요..

Optional, HashMap, Map, List 등 기본적으로 이게 무슨 동작인지 어떤 의미인지는 알고 있지만,

예를 들면 Map store = new HashMap(); 의 경우 HashMap 대신 Map을 사용해야 한다. 혹은 MemoryMemberRepository repository = new MemoryMemberRepository(); 에서 MemoryMemberRepository 대신 MemberRepository를 사용해야 옳다. 등.. 이런 부분에 있어서 제 지식이 부족하여 강의를 따라가지 못하는 것 같습니다. (다른 분들에게는 당연한 부분에 대한 지식이 없는 것 같습니다..)

이런 경우에서는 왜 당연히 이렇게 사용해야 하는 건지, 왜 이런 방법으로 진행해야 하는 건지 등에 대해 궁금한데 다른 강의들을 찾아보아도 문법이면 이 기능은 이런 기능이다. 에 대한 내용만을 다루고 있다 보니 저 같은 초보에게는 너무 어렵습니다. (이러한 강의가 별도로 없는 것을 보면 스스로 깨우쳐야 하는 것 같은데 저 같은 경우 평생을 봐도 깨우치기 어려울 것 같습니다..)

아직 강사님의 강의를 들을 레벨이 안 되는 걸까요..? 강의를 중단하고 기본 문법부터 다시 봐야 하는 걸까요..?

현재 강의를 멈추고 문법을 다시 보고 있지만 "이 문법은 이것이다."라는 기능에 대한 정의만 알려주지 이것은 어떻게 사용하며, 보통 이런 기능을 구현할 때는 이런 구문을 사용한다. 에 대한 예시가 없다 보니 지식이 많이 부족한 저에게는 막막합니다. 문법을 배우고 나서 응용하는 머리가 있어야 하는데 그게 없어 강사님께서 떠먹여 주셔도 받아먹지를 못해 스스로 많이 답답하고 속상합니다. 많이 찾아보고 여러 번 직접 해보면 안다고 하지만.. 응용하여 적용하는 머리가 안 따라주니 당장 이렇게 수업은 진행해도 나중에 스스로 개발을 할 수 있을까 싶은 마음이 듭니다.

이런 경우에 제가 이 강의를 진행하는게 맞을까요? 아니면 문법으로 돌아가서 더 공부하고난 후 봐야할까요..? 어떻게 공부를 하는 게 맞을지 조언 부탁드립니다..

감사합니다.

답변 4

1

김영한님의 프로필 이미지
김영한
지식공유자

Summer님 화이팅!

1

장포니님의 프로필 이미지
장포니
질문자

김영한 강사님 답변 감사합니다!

어느순간 강의의 코드들을 이해한다기 보다는 코드를 따라친다는 느낌만 받아서 이대로 진행해도 되는지에 대한 의문을 가지게 된 것 같습니다. 결국에 답은 직접, 많이 경험 해봐야 한다는 것이네요..

중간중간 모르는 부분이 있으면 그 부분 때문에 자꾸 진도가 안나가게 되다보니 마음이 조급했던 것 같습니다.

조언해주신대로 모든 다 알고 넘어가자는 욕심을 버리고 끝까지 완강 해보고 공부해야할 것들을 하나씩 정리해보겠습니다.

앞으로 개발자로 살아가는데 필요한 중요한 마음가짐을 가지게 해주셔서 감사합니다.

로드맵을 따라 끝까지 완강하여 좋은 개발자가 되도록 노력하겠습니다. (다른 강의들도 기다리고 있겠습니다!)

다시 한 번 감사드리고 미리 새해 복 많이 받으세요!

솔로몬상 축하드립니다~~!

1

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. Summer님^^

사실 객체 지향 언어를 사용하는 가장 큰 이유가 바로 이 부분 때문입니다. 이것을 다형성이라고 하지요.

다형성을 왜 사용해야하지? 어떻게 활용해야 하는지는 실제 개발을 해보아야 그 필요성을 많이 느낄 수 있습니다.

머리나 책만으로 학습이 되는 것이라기 보다는, 개발을 하면서 그 필요성에 대해서 절감하게 되는 것이지요.

저도 Summer님과 학습하는 스타일이 비슷해서 너무 많은 시간을 보내고 나서야 깨닮은게 있습니다.

앞으로 개발 공부를 계속 많이 하셔야 하는데, 모든 것을 그 기반을 다 이해하면서 공부를 진행하기에는 너무 많은 내용을 알아야 합니다. 그래서 궁금한 부분들을 어딘가에 기록해두고, 찾아보는 것은 중요하지만, 우선은 이건 내가 따로 나중에 학습해야지 라고 챙겨두고, 일단 진행을 하는게 중요합니다.

잘 몰라도 코딩하면서 진행해보면 자연스럽게 이해가 되는 경우도 많구요.

영어를 예를 들면 문법만 보고 전혀 대화가 되지 않는데, 대화를 먼저 하고 나중에 문법을 보면 아하 그렇쿠나 하고 더 잘 이해가 될 수 도 있는 것과 비슷한 이치입니다.

우선은 끝까지 한번 가보세요^^ 그러면 앞으로 내가 공부해야하는 것들이 더 많이 보이실거에요.

다형성 관련된 비슷한 질문도 도움이 되시라고 공유해드립니다^^

ewgregerg c님도 함께 다음 글을 보시면 도움이 되실거에요.

https://www.inflearn.com/questions/47449

감사합니다.

1

저도 초보지만.. 제가 공부한바로는 자바 다형성을 활용해서 모듈을 쉽게 교체할 수 있기 때문인거 같아요. HashMap store = new HashMap(); 이렇게 받으면 사용할수 있는 메소드도 한정적이고 (iterator()같은?) 혹시 제가 잘못알고 있는 부분이 있으면 알려주세요.

저도 궁금한 부분이.. 웹 어플리케이션 설계(?)시에 예를들어 Impl 객체의 리턴타입을 왜 인터페이스 타입으로 받는지는 궁금하네요.. MemberRepository repository = new MemoryMemberRepository(); 이런 부분은 왜 이렇게 받는건지 궁금해요.

개발시의 어떤 장점이나 편리성이 있는건지 알고싶습니다!

장포니님의 프로필 이미지
장포니

작성한 질문수

질문하기