Java/OOP(4)
-
스프링 컨테이너와 서비스 로케이터가 필요한 이유
잡담 더보기 맨 처음 보았던 강의가 영한님의 스프링 핵심 원리 - 기본편이었다. 해당 강의에서는 OOP에 관한 간략한 내용을 설명하고 스프링 컨테이너에 관한 내용을 이야기한다. 당시에는 OOP에 관한 내용이 정확하게 이해되지 않았고 왜 스프링 컨테이너가 필요한 지 정확하게 이해가 되지 않았다. 아마도 정확하게 이해가 안돼서 그런 것 같았다. 반복적으로 OOP에 관한 책 내용을 읽으면서 다시 이 내용을 복습해야 할 필요가 있음을 느꼈고, 과거 강의와 함께 이해한 내용을 정리해보려고 한다. 1. 상속의 문제점과 조립 과거의 글에서 짧게 나마 아래의 이미지와 함께 자바에서의 다중 상속에 관한 이야기를 했었다. 해당 내용을 요약하면, 기능의 추가를 위해 다중상속을 하는 것은 상위 클래스의 수정을 어렵게 만들며,..
2024.04.16 -
자바와 SOLID 원칙(TIL)
잡담 더보기 항상 자바의 캡슐화, 다형성, 추상화, 상속과 SOLID라는 원칙은 참 이해가 안된다. 디자인 패턴 책을 한 번 보고는 완전히 이해가 안돼서 계속 반복해서 본 것 같다. 그 과정에서 내가 이해한 바를 정리하고자 한다. 책에서 나온 예시도 그렇고 전체적인 내용은 다음 글의 작성자 분이 정말 잘 정리해주셨다고 생각한다. 개인적으로 이는 간단한 정리를 위한 것이며 필요할 때마다 예시를 찾고 싶다면 위의 링크 글 혹은 최범균님의 "개발자가 반드시 정복해야 할 객체 지향과 디자인 패턴" 책의 2장을 읽어보길 바란다. 1. 단일 책임 원칙 계속 공부를 하다보면 단일 책임 원칙과 인터페이스 분리 원칙이 헷갈리기 시작한다. 둘 다 최대한 역할을 작게 만들어라 같은데 어떤 차이가 있는지 한 번 고민해보자. ..
2024.04.13 -
자바의 상속, 추상, 다형에 관하여(TIL)
작성 배경 더보기 이전에 "스프링 입문을 위한 자바 객체 지향의 원리와 이해"라는 책에서도 OOP 관한 설명이 있었다. 그 책에는 SOLID원칙과 캡상추다!라면서 캡슐화, 상속, 추상화, 다형성에 관한 설명이 있었다. 처음 배우는 내용이기도 했고 저자에게는 미안한 얘기지만 예시가 부실해서 이해가 안됐다. 지금은 여러 강의도 듣고, 책을 보면서 조금은 이해가 된 것 같다. 그 과정에서 드는 생각은, 프로그래밍이 공부를 할수록 같은 것도 다르게 보이는게 있어서 참 좋은 것 같다. 개인적으로 객체 지향에서 말하는 4가지 요소를 공부하며 느낀 바는, 캡슐화와 나머지로 묶는게 이해가 편하지 않나 싶다. 캡슐화에 관한 이야기는 앞의 getter에 관한 글에 어느정도 정리가 되어있으니, 생략하도록 하고 이 글에서는 ..
2024.04.12 -
자바의 Getter에 대하여
글의 작성 배경 더보기 더보기 Private로 된 내부 변수를 외부에서 값을 가져오거나 변경할 수 있는 방법이 있다. 바로 Getter와 Setter이다. 여담이지만 작년 4월까지 이걸 몰라서 안드로이드 강의 실습시간에 private 객체를 외부로 가져오는 방법이 뭐였죠?라는 말에 답변을 하지 못했었다. 아무튼, 사용자체도 쉽고 개발의 편의를 위해서 Getter, Setter를 열고 이 때까지 프로젝트를 진행했었다. 그런데 유튜브에서 다른 사람 코드리뷰 혹은 코드 작성 가이드라인을 보면 자주 등장하는 말이 "Getter 쓰지 마세요.", "Setter 쓰지 마세요."라는 말을 진짜 많이 본다. 솔직히 해당 내용을 보는데 항상 설명은 안 해줘서 "뭐 어쩌라고?"라는 생각이 많이 들었다. 그래서, 몇 번 이..
2024.04.12