본문 바로가기

학습 일지130

[Java] 팩토리 메서드(Factory Method) 패턴 Factory Method 패턴이란 Factory method 패턴은 부모 클래스에 알려지지 않은 구체 클래스를 생성하는 패턴이며, 자식 클래스가 어떤 객체를 생성할지를 결정하도록 하는 객체지향 디자인 패턴이다. 부모 클래스 코드에 구체 클래스 이름을 감추기 위한 방법으로도 사용한다. 즉, 인스턴스를 생성하는 방법은 부모 클래스가 가지고 있고 상속을 통해 자식 클래스에서 실제로 동작하는 구현체를 작성하는 방법이다. 제품을 정의하는 Product 인터페이스 public interface Product { void use(); } 제품을 사용한다는 행동을 정의했다. 제품을 생성하는 Factory 인터페이스 public interface Factory { Product createProduct(String n.. 2023. 6. 10.
[Java] 빌더(Builder) 패턴 Builder 패턴 이란 Builder 패턴은 객체 생성을 위한 디자인 패턴 중 한 방법으로, 간단한 클래스 객체를 생성할 때는 괜찮겠지만 복잡한 클래스 객체를 한 번에 생성하기는 많은 어려움이 있을 수 있기 때문에 구조를 이루는 필드를 하나씩 만들어 가는 방법이다. Builder 패턴 적용 public class Text { private String text; public Text(String text) { this.text = text; } public Text() {} @Override public String toString() { return text; } public static class Builder { private String title; private String content; p.. 2023. 6. 8.
[Git] Git 보다 깊이 알기 Git 보다 깊이 알기 1. Git을 특별하게 만드는 것 2. Git의 3가지 공간 3. HEAD 4. fetch vs pull 📌 Git을 특별하게 만드는 것 다른 VCS들과 달리 차별되는 Git의 강점에 대해 알아보자 1. Snapshot 사용 Git은 델타방식을 사용하는 기존 VCS들과 달리 스냅샷 방식을 사용하여 효율적으로 파일을 관리한다. 델타 방식(SVN) 각 변화가 누적된 것으로 계산된다. 각 버전들의 파일 변경사항을 누적하며 계산되며 파일의 생성부터 변경사항들을 따라가야 해서 커밋이 많아질수록 속도가 느려진다. 스냅샷 방식 각 시점에 존재하는 파일들을 스냅샷으로 기록하여 새로운 버전이 만들어질 때, 해당 버전의 최종 파일로 관리된다. 각 시점 최종상태의 파일들이 풀(pull)로 저장되어 있.. 2023. 6. 6.
[Git] CLI vs GUI, Reset vs Revert, Merge vs Rebase 협업을 진행하는데 필수적인 Git에 대해서 개념과 목적을 처음부터 다시 잡기 위해 강의를 수강하고 있다. 강의를 들으면서 핵심 부분을 기억하기 위한 목적으로 포스팅을 하게 되었다. 📌 CLI vs GUI Git을 사용하는 방법은 두 가지로 나뉜다. 터미널에 직접 명령어를 입력하여 수행하는 CLI방식 소스트리 등의 프로그램을 사용하는 GUI방식 CLI(Command Line Interface) CLI는 Command Line Interfaced의 약자로 말 그대로 명령줄을 입력해서 사용하는 것 GUI(Graphical User Interface) GUI는 Graphical User Interface의 약자로 일반인 사용자들이 쓰기 편하도록 그래픽 요소를 활용한 인터페이스 무엇을 사용해야 하는가? Git에서.. 2023. 6. 3.