본문 바로가기

Java & Kotlin33

자바의 람다식은 왜 등장했을까? 목차개요코드 간결성 및 가독성 향상병렬 처리 및 스트림 API와의 통합함수형 인터페이스와의 연계코드 재사용성 및 유지보수성 향상결론1. 개요자바의 람다식(Lambda Expression)은 함수형 프로그래밍 개념을 도입하여 자바의 생산성을 높이고, 코드의 가독성과 간결성을 개선하기 위해 등장했다. 람다식은 자바 8에서 도입되었다.2. 코드 간결성 및 가독성 향상자바 8 이전에는 익명 내부 클래스(Anonymous Inner Classes)를 사용하여 함수형 프로그래밍을 흉내내는 방식으로 코딩해야 했다. 이는 코드가 장황해지고 가독성이 떨어지는 문제를 초래했다. 람다식을 사용하면 다음과 같은 간결하고 가독성 높은 코드를 작성할 수 있다.ex) 익명 내부 클래스 vs 람다식1) 익명 내부 클래스 사용List.. 2024. 7. 1.
어노테이션을 사용하는 이유와 효과에 대해 알아보자 목차어노테이션이란?어노테이션을 사용하는 이유와 효과나만의 어노테이션 만들기1. 어노테이션이란?어노테이션(Annotation)은 자바 프로그래밍 언어에서 코드에 대한 메타데이터를 제공하는 일종의 표기법이다. 어노테이션은 코드의 메타데이터를 제공하고, 다양한 프레임워크와 도구에서 코드의 행동을 제어하거나 확장하는 데 널리 사용된다.2. 어노테이션을 사용하는 이유와 효과어노테이션은 다양한 목적을 제공하는데 사용하는 이유와 효과는 다음과 같다.코드 가독성 및 유지보수성 향상의미 명확화: 어노테이션을 통해 코드의 의도를 명확하게 표현할 수 있다. 예를 들어, @Deprecated 어노테이션은 특정 메서드가 더 이상 사용되지 않음을 명확히 나타낸다.코드 분리: 반복적인 코드나 부가적인 로직을 어노테이션으로 분리함으.. 2024. 6. 26.
Log4j란? 목차개요Log4j란?Log4j 특징Log4j 구조결론1. 개요 평상시에 롬복라이브러리를 자주 사용하는데 로그를 남기고 싶을때 Log4j 어노테이션을 이용하여 자주 사용하였다.하지만 로그를 남기는 용도로만 사용하였을뿐 자세히 Log4J에 대해 알지 못하여 정리를 해보려고 한다.2. Log4j란?자바 애플리케이션에서 로깅(logging)을 구현하기 위한 오픈 소스 라이브러리다.로깅은 애플리케이션의 동작 및 이벤트를 기록하는 것을 의미하며, 애플리케이션의 디버깅, 모니터링, 문제 해결, 보안 등 다양한 목적으로 사용된다. log4j는 이러한 로깅 작업을 효율적으로 처리할 수 있는 도구를 제공한다.3. Log4j의 특징log4j는 로깅 성능을 최적화하고 효율적으로 처리할 수 있는 기능을 제공한다.log4j는 부.. 2023. 12. 20.
객체의 결합도와 응집도 목차소프트웨어의 모듈 독립성결합도 (Coupling)응집도 (Cohesion)결론1. 소프트웨어의 모듈 독립성모듈화는 복잡한 시스템을 더 작고 이해하기 쉬운 부분으로 나누는 과정을 의미한다.모듈은 소프트웨어를 각 기능별로 나누어진 소스 단위를 말한다. 독립적으로 컴파일 가능한 프로그램 혹은 하나의 함수나 클래스도 모듈이 된다.보통 좋은 소프트웨어 일수록 모듈의 독립성이 높다고 한다.좋은 모듈화는 목적에 맞는 기능만으로 모듈을 나누게 되는데, 각각의 모듈은 주어진 기능만을 독립적으로 수행하기 때문에 재사용성이 높고 코드의 이해/수정이 용이하기 때문이다.예를들어 해당 모듈을 수정하더라도 다른 모듈에 끼치는 영향이 적게 되며, 오류가 발생하더라도 기능 단위로 잘 나뉘어 져 있기 때문에 손쉽게 문제를 발견해 해.. 2023. 12. 8.
Java 에서 싱글톤패턴 구현방식 목차개요Eager InitializationStatic Block InitializationLazy InitializationThread Safe SingletonBill Pugh Singleton ImplementaionEnum Singleton결론1. 개요싱글톤 패턴은 어떤 클래스의 인스턴스가 오직 하나만 생성되는 것을 보장하며, 이 인스턴스에 접근할 수 있는 사용할 수 있도록 제공하는 패턴이다.싱글톤 패턴을 구현하는 방법을 중점으로 해당 내용을 정리해보려고 한다.2. Eager InitializationEager Initialization은 가장 간단한 형태의 구현 방법이다. 이는 싱글톤 클래스의 인스턴스를 클래스 로딩 단계에서 생성하는 방법으로 Thread-safe하다.그러나 어플리케이션에서 해당.. 2023. 11. 24.
데코레이터패턴(__**Decorator Pattern**__)이란? 목차데코레이터패턴(Decorator Pattern)이란?데코레이터 패턴 구조패턴 적용하기장점과 단점자바와 스프링에서 찾아보는 패턴프록시 패턴과 데코레이터 패턴1. 데코레이터패턴(Decorator Pattern)이란?데코레이터 패턴(Decorator Pattern)은 대상 객체에 대한 기능 확장이나 변경이 필요할때 객체의 결합을 통해 서브클래싱 대신 쓸수 있는 유연한 대안 구조 패턴이다.데코레이터 패턴을 이용하면 필요한 추가 기능의 조합을 런타임에서 동적으로 생성할 수 있다.2. 데코레이터 패턴 구조Component (Interface) : 원본 객체와 장식된 객체 모두를 묶는 역할ConcreteComponent : 원본 객체 (데코레이팅 할 객체)Decorator : 추상화된 장식자 클래스원본 객체를 합.. 2023. 11. 23.