템플릿 메서드 패턴이란? 상위 클래스의 템플릿 메서드에서 하위 클래스가 오버라이딩한 메서드를 호출하는 패턴 객체지향 설계 5원칙 중 의존 역전 원칙(Dependency Inversion Principle)이 적용된 디자인 패턴 상위 클래스에 공통 로직을 수행하는 템플릿 메서드를 둔다. 템플릿 메서드 안에서 추상 메서드 또는 hook메서드를 호출한다. 하위 클래스마다 추상 메서드, hook메서드를 오버라이딩해 서로 다른 동작을 하게 한다. 상위 클래스 타입으로 하위 클래스 객체를 선언한다. 객체의 템플릿 메서드를 호출한다. hook메서드 상위클래스에서 디폴트 기능을 정의해두거나 비워뒀다가 하위클래스에서 선택적으로 오버라이드할 수 있도록 만들어둔 메서드 abstract 키워드가 없는 메서드 템플릿 메서드 상..
Java
static에 대해서 static멤버는 JVM이 종료될때까지 메모리의 static영역에 배치된다. 그러므로 static멤버를 많이 사용할수록 메모리를 많이 사용하게 된다. 장점 간결한 코드 작성 가능 어디서든 접근 가능 heap영역에 생성 및 해제할 필요 없어 GC(가비지컬렉터) 오버헤드를 줄여줌 단점 무분별한 사용은 메모리 부족 야기 캡슐화(한 객체가 갖고있는 데이터들은 외부에서 함부로 접근하여 수정할 수 없는) 위배 static메서드는 인터페이스를 구현하는데 사용될 수 없어 재사용성이 떨어짐 thread-safe하지 않아 멀티 스레드 동작에서 충돌 발생할 수 있음 static은 언제 써야할까? 클래스 설계시, 공통적으로 사용되는 변수나 메서드에 붙인다. 인스턴스 변수(Non-static멤버 변수)를 ..
우테코 프리코스 커뮤니티에서 객체지향 생활체조를 알게되었고 때문에 일급 컬렉션을 처음 접했다. 일단 일급 컬렉션이 뭔지부터 알아보았다. https://jojoldu.tistory.com/412 일급 컬렉션 (First Class Collection)의 소개와 써야할 이유 최근 클린코드 & TDD 강의의 리뷰어로 참가하면서 많은 분들이 공통적으로 어려워 하는 개념 한가지를 발견하게 되었습니다. 바로 일급 컬렉션인데요. 왜 객체지향적으로, 리팩토링하기 쉬운 코 jojoldu.tistory.com https://tecoble.techcourse.co.kr/post/2020-05-08-First-Class-Collection/ 일급 컬렉션을 사용하는 이유 일급 컬렉션이란? 본 글은 일급 컬렉션 (First Cl..