[Java] 디자인패턴과 안티 패턴을 알아보자.
·
Programming Language/Java
디자인 패턴이란?소프트웨어 디자인에서 자주 발생하는 문제에 대한 해결책을 재사용 가능한 형태로 정리한 것입니다.  이러한 패턴들은 소프트웨어 개발 과정에서 특정한 디자인 문제를 해결하기 위한 일반적인 접근 방식을 제공하며, 코드의 재사용성, 가독성, 확장성을 향상시키는 데 도움을 줍니다.  예를 들어, Singleton 패턴은 하나의 인스턴스만 생성하고 이를 여러 곳에서 공유하고자 할 때 사용됩니다. 다음은 Java에서의 Singleton 패턴의 간단한 예제입니다.public class Singleton { private static Singleton instance; private Singleton() { // 생성자를 private로 선언하여 외부에서 인스턴스 생성을 제한 ..
[Java] Enum과 Builder 패턴을 예제와 함께 알아보자.
·
Programming Language/Java
https://github.com/prgrms-be-devcourse/java-library-management/pull/34 [5기 - 박주한] 1~2주차 과제: 도서 관리 어플리케이션 제출합니다. by ParkJuhan94 · Pull Request #34 · prg안녕하세요 도찌, 무송 멘토님! 이번 과제를 하면서 많은걸 배운것 같아요. 출력과 예제를 통해서 어느정도 test 하면서 진행을 했는데, 계속된 버그에 테스트코드가 꼭 필요한 것 같긴 했습니다.github.com   Java Enum 활용기개발을 진행할때 Enum을 통해 얻는 기본적인 장점들은 아래와 같습니다.문자열과 비교해, IDE의 적극적인 지원을 받을 수 있습니다.허용 가능한 값들을 제한할 수 있습니다.리팩토링시 변경 범위가 최소화 ..
[Java] final 을 사용하는 모든 경우 - 예제와 함께 이해하기
·
Programming Language/Java
final 키워드는 코드의 안정성을 높이고 의도를 명확히 표현하는 데 도움을 주며, 상수, 불변 객체, 메서드 오버라이딩 방지 등 다양한 상황에서 유용하게 사용됩니다. 개요 final 이라는 키워드를 사용하는 대부분의 경우는 단순히 변수에 붙여서 상수로 지정하는 것입니다. final 을 사용했을 때 유용한 경우가 더 있기에 이번 포스팅에서 알아보고, 적극 사용해보려 합니다. 아래에서 final 키워드의 다양한 사용 사례를 예제와 함께 설명하겠습니다. final 변수 final 변수는 한 번 초기화되면 값을 변경할 수 없습니다. 이를 상수(constant)로 사용하거나 값이 변경되지 말아야 할 경우에 유용합니다. public class FinalVariableExample { public static vo..
[Java] 객체 지향 프로그래밍의 5가지 기본 원칙 SOLID 를 예제와 함께 알아 보자. (2)
·
Programming Language/Java
인터페이스 분리 원칙 (Interface segregation principle, ISP)클라이언트별로 세분화된 인터페이스를 만들어야한다. 인터페이스를 분리한다는 점에서 앞서 1편에서 살펴보았던 단일책임원칙과 동일하다.그러나 분리하는 관점 자체가 다르다.    인터페이스 분리 원칙이 깨진 상황public interface Repository { void createUser(); User findUserById(Long id); void createArticle(); Article findArticleById(Long id);}public class UserRepository implements Repository { @Override public void createUse..
[Java] 객체 지향 프로그래밍의 5가지 기본 원칙 SOLID 를 예제와 함께 알아 보자. (1)
·
Programming Language/Java
SOLID란?로버트 마틴이 2000년대 초반에 이름붙인 객체 지향 프로그래밍/설계의 5가지 기본 원칙의 앞글자를 딴 약어 SOLID 객체지향의 4대 원칙 - 캡슐화, 상속, 추상화, 다형성다형성 - 똑같은 클라이언트 코드로 안에 들어있는 존재에 따라 다른 동작이 수행되는 것      단일 책임 원칙 (Single responsibility principle, SRP)하나의 클래스는 하나의 책임만을 가져야 한다. 하나의 클래스가 여러개의 책임을 가진다면, 그 클래스의 코드가 변경되어야할 이유가 여러개가 생긴 것이다. 단일 책임 원칙을 지키는 코드는 각각의 클래스가 응집력이 높기 때문에, 코드의 재사용성이 높아지고, 캡슐화를 통해 한 클래스의 변경이 다른 클래스에 영향을 미치지 않도록 만든다.      개방..