-
유연한 설계 의존성과 결합도 모든 의존성이 나쁜것은 아니다.의존성은 객체들의 협력을 가능하게 만드는 매개체라는 관점에서 자연스러운 것. 바람직한 의존성 = 재사용성 의존성에 대한 정도 = 결합도 (약한 결합도, 강한 결합도) 의존성과 결합도 일반적으로 의존성과 결합도를 동의어로 사용하지만 사실 두 용어는 서로 다른…
🗂️
🗓️
-
Constructor 클래스 및 객체 생성 Constructor<?> Constructor<?> 메소드 특정 생성자 매개변수 유형을 알고 있는 경우 Default 생성자 Constructor 클래스 메서드 실행결과 Reflection을 이용해 동적으로 객체를 생성하는 방법 Reflection이 없다면.. newInstance() 만들어보기 실행 결과 wildcard가 아닌 제네릭으로 개선하기
🗓️
-
의존성 이해하기 변경과 의존성 의존성은 실행 시점과 구현 시점에 서로 다른 의미를 가진다. UML과 의존성 UML에 익숙한 사람이라면 여기서 설명하는 내용이 UML에서 정의하는 의존 관계와는 조금 다르다는 것을 눈치 챘을 것이다. UML에서는 두 요소 사이의 관계로 실체화 관계 (realization), 연관 관계…
🗂️
🗓️
-
코드는 언제 정리해야해? 한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다. 익스트림 프로그래밍 XP 의 창시자이자 애자일 개발론, TDD 를 주장하는 켄트 벡의 새로운 책이다. Tidy First? 는 방법론이나 기술적인 맥락 보다는 리팩토링에 어떻게 손을 대고 무엇부터 시작하면 좋을지에 대한…
🗂️
🗓️
-
데이터 추상화와 추상 데이터 타입 추상 데이터 타입 안타깝게도 프로시저만으로는 충분히 풍부한 추상화의 어휘집을 제공할 수 없다. 이것은 언어 설계에서 가장 중요한 추상 데이터 타입의 개념으로 우리를 인도한다. 추상 데이터 타입은 추상 객체의 클래스를 정의한 것으로 추상 객체에 사용할 수 있는…
🗂️
🗓️
-
Java Reflection 이 뭐지? Reflection이 할 수 있는 것 Spring Framework Jackson library Reflection 을 사용하면서 주의해야 할 점 Class<?> 오브젝트 Class<?> 에 접근하기 1. Object.getClass() 2. 타입 이름에 ‘.class’ 붙이기 3. Class.forName() Java wildcard 언제 쓰는건데? 컴파일 하는 동안 컴파일러가…
🗓️
-
프로시저 추상화와 데이터 추상화 시스템을 분해하는 방법 프로시저 추상화와 기능 분해 메인 함수로서의 시스템 시스템 분해 방식 기능 분해 방법 예제 최상위 문장 첫번째 세분화 getTaxRate()의 세부 분해 급여 계산의 분해 양식의 세분화 하향식 기능 분해의 문제점 하나의 메인 함수라는 비현실적인…
🗂️
🗓️
-
JVM은 함수형 프로그래밍을 어떻게 지원하는가? 한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다. 모던한 언어들의 대세에 따라 함수형 프로그래밍이 떠오르면서 ‘Java 에서의 함수형 프로그래밍’ 에 대해서도 적지 않은 관심이 있다. Java 가 지원하는 함수형 인터페이스와 스트림은 이미 널리 쓰이고 있고…
🗂️
🗓️