본문 바로가기

분류 전체보기32

[스프링과 객체지향 2편] 객체지향 설계의 5가지 원칙(SOLID) 좋은 객체지향 설계를 위해 따르는 5원칙을 SOLID라고 한다. SRP, OCP, LSP, ISP, DIP의 앞 글자를 따서 얻어진 이름이다. 이 다섯 가지의 원칙을 지키면, 확장과 변경에 유연하고 유지보수가 쉬운 소프트웨어를 개발할 수 있다. SOLID와 Spring이 무슨 상관이냐고 물을 수 있다. 결론부터 말하면, SOLID를 지켜서 코드를 작성하면 유지보수가 쉬운 것은 사실이지만, 작성해야 할 코드량이 굉장히 많아져서 때로는 배보다 배꼽이 큰 상황이 생길 수 있다. Spring Framework는 이런 상황을 해결해주기 위한 다양한 기능을 제공해준다. 하나의 예시로, 스프링 프레임워크의 의존관계 자동 주입 기능은 OCP와 DIP를 지키기 위해 사용하는 Config Class의 코드량을 엄청나게 줄.. 2022. 7. 3.
⌜객체지향의 사실과 오해⌟로 배운 진짜 OOP (책 내용을 배제하고 느낀 점 위주로 작성하려고 노력했습니다. 그럼에도 블로그 내용이 문제될 시 연락 주시면 바로 삭제 조치하겠습니다.) 연락처: rkdgh98@khu.ac.kr https://book.naver.com/bookdb/book_detail.nhn?bid=9145968 객체지향의 사실과 오해 객체지향에 대한 선입견을 버려라!『객체지향의 사실과 오해』는 객체지향이란 무엇인가라는 원론적면서도 다소 위험한 질문에 답하기 위해 쓰여진 책이다. 안타깝게도 많은 사람들이 객체지 book.naver.com 책을 읽게 된 계기 대학에 입학하고, 신입생 때 '객체지향 프로그래밍'이라는 이름의 수업을 수강한 적이 있다. 수강 당시에는 시험 성적에만 치중된 공부 방법으로 공부했었다. 추상화, 캡슐화, 다형성, .. 2022. 6. 28.
[스프링과 객체지향 1편] 객체지향과 다형성 스프링은 객체지향의 특성을 살려 웹 애플리케이션을 개발할 수 있도록 도와주는 프레임워크이다. 그렇기 때문에 우리가 스프링을 사용하는 이유를 알기 위해서, 스프링을 더 잘 사용하기 위해서 먼저 객체지향에 대한 이해가 필요하다. 객체지향 프로그래밍 (OOP) : 프로그램을 단순히 코드를 위에서 아래로 순차적인 실행으로 개발하는 것이 아니라, '역할'과 '책임'이 부여된 객체들의 '협력' 관점에서 프로그램을 설계하고 개발하는 것을 말한다. 객체지향의 특징 네 가지 본 내용은 추후에 책 내용을 정리할 때 더 자세히 쓸 예정이다. 이 글에서는 다형성이 가장 중요하다는 것만 알고 넘어가자. - 추상화 - 캡슐화 - 상속 - 다형성 왜 객체지향적으로 프로그램을 설계하고 개발해야 하는가? : 프로그램을 객체지향적으로 .. 2022. 6. 25.
[스프링과 객체지향 0편] Spring을 공부하는 이유 요즘 취업 준비를 하다보니 면접을 자주 보고 있는데, 다음과 같은 질문을 받은 적이 있다. "왜 하필 Spring을 공부하고 있는가?" "Spring 프레임워크가 무엇인가?" "Spring boot는 무엇인가?" "객체지향적 설계가 무엇인가?" "객체지향 5원칙을 지키면서 개발한 적이 있는가?" 내가 Spring을 공부하기 시작한 이유는 단순히 백엔드 개발자가 되고 싶고, 우리나라에서 가장 많이 쓰이는 백엔드 프레임워크가 Spring Framework이기 때문이었다. 그래서 막상 이런 질문이 들어오면, 당황과 함께 '많이 쓰이기도 하고, Spring이 객체지향 언어인 Java로 웹 개발을 하는 데 있어서 도움을 주는 것 같다' 라고 대충 얼버무리며 답변해왔다. 스스로도 답변의 양과 질이 매우 부족하다고.. 2022. 6. 25.
2022 카카오 채용연계형 인턴십 채용 결과 (최종 불합격했다..!!) 인터뷰 때 다시 돌아보면 아쉬웠던 대답이 많아서 이미 예견했지만 역시 불합격이었다. 인터뷰 과정에서 나의 부족함이 많이 느껴지고, 준비가 아직 덜 됐다는 것을 많이 느낄 수 있었던 경험이었다. Spring은 물론이거니와 기본적인 데이터베이스 cs지식도 많이 부족했다. 특히나 마지막에 카카오에 관심이 있는 분야가 있는지에 대한 질문이 왔을 때, 아무것도 대답 못했던 점이 그만큼 내가 절실하지 않았다는 것을 보여주는 것 같았다. 기술 서적 독서에 대한 질문이 들어왔을 때에도 평소 책을 잘 읽어와서 당황하기도 했다. 인터뷰 과정을 잘 돌아보면서 대답 못했던 것들을 Slack에 정리해두었다. 이런 경험이 다음 면접을 준비하는 데에 반드시 도움이 될 것이라고 생각한다. 아직 남은 채용 .. 2022. 6. 11.
2022 카카오 인턴십 1차 인터뷰 회고 정말 오랜만에 블로그 글을 쓰는 것 같다.. 작년 우테코 지원 이후에 또 의미있는 지원 과정이 된 것 같아 내 생각을 정리하려고 글을 쓴다. 서류 합격 날부터 면접 당일까지 약 일주일 동안 정말 긴장되는 매일이었다. 면접 당일 전 날부터는 떨림이 너무 심해서 평소에 듣지도 않았던 잔잔한 클래식 음악을 방 안에 틀어놓고 마인트 컨트롤을 하면서 시간을 보냈다. 내가 면접을 준비했던 과정은 다음과 같다. 1. 코테 때 작성했던 코드들을 다시 살펴보고, 내가 왜 그렇게 짰는지 기억을 더듬으며 준비했다. 2. 내가 자소서에 썼던 개념들을 쭉 나열하고, 각각에 대해서 개념과 내 생각을 정리하였다. 3. 실제 면접 후기들을 살펴보면서 예상 질문들을 정리하였다. 4. 5분 자기소개, 면접 후 드리고 싶은 질문을 정리하.. 2022. 5. 30.