929sa
@929sa4043
수강평 작성수
4
평균평점
5.0
블로그
전체 2#카테고리
- 백엔드
#태그
- 워밍업클럽
![[인프런 워밍업 클럽 0기] BE 3일차 과제](https://cdn.inflearn.com/public/files/blogs/115539b0-2f25-4670-aef4-3bef9a246b80/comm-warm-up-page-main.png?w=260)
2024. 02. 21.
0
[인프런 워밍업 클럽 0기] BE 3일차 과제
자바의 람다식은 왜 등장했을까?자바의 람다식은 주로 코드를 간결하게 표현하고 함수형 프로그래밍의 개념을 도입하기 위해 등장.람다식은 Java 8에서 도입되었으며, 기존의 익명 내부 클래스를 대체하는 형태로 사용.1. 간결한 문법람다식은 익명 내부 클래스를 사용하는 것보다 훨씬 간결한 문법을 제공하기 때문에, 코드를 읽고 유지보수 하기 쉽다.2. 함수형 프로그래밍 지원람다식은 함수형 프로그래밍의 핵심 개념(함수를 값처럼 다룰 수 있고, 함수를 다른 함수의 인자로 전달하거나 반환)을 자바에 도입하는데 기여.자바에서는 람다식과 스트림 API를 통해 함수형 프로그래밍 개념 도입3. 컬렉션 처리 간소화람다식은 컬렉션 처리를 간소화하고 더 효과적으로 할 수 있도록 도와줌.forEach 메서드를 이용하여 컬렉션의 각 요소를 간편하게 처리 가능.4. 병렬 프로그래밍 지원람다식은 병렬 프로그래밍을 위한 스트림 API(자바 8에서 추가된 기능으로, 컬렉션을 함수형 프로그래밍의 스트림으로 처리하는 방법을 제공)와 함께 사용되어 병렬 실행이 가능한 코드를 작성하는 데 도움을 준다. 람다식과 익명 클래스는 어떤 관계가 있을까? - 람다식의 문법?JdbcTemplate을 사용하는 과정에서 익명 클래스와 람다식이라는 자바 문법을 사용익명 클래스는 자바의 초창기부터 있던 기능이고, 람다식은 자바 8에서 등장한 기능익명클래스button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { // 이벤트 처리 로직 } }); 람다식(익명 클래스보다 더 간결한 문법 제공)button.addActionListener(e -> { // 이벤트 처리 로직 }); 추가 개념@FunctionalInterface함수형 인터페이스를 선언할 때 사용하는 어노테이션으로, 해당 인터페이스가 하나의 추상 메서드만을 가지고 있는지 검사.람다식이나 메소드 레퍼런스를 사용할 때 함수형 인터페이스를 명시적으로 선언하기 위해 사용됨. 메소드 레퍼런스메소드 레퍼런스는 람다식을 더 간결하게 표현하기 위한 방법으로, 이미 정의된 메서드를 호출하는 방식// 람다식 (a, b) -> MyClass.staticMethod(a, b) // 메소드 레퍼런스 MyClass::staticMethod
백엔드
・
워밍업클럽
![[인프런 워밍업 클럽 0기] BE 1일차 과제](https://cdn.inflearn.com/public/files/blogs/83f4573c-9315-4ea7-9a3e-2eafdd469cb5/comm-warm-up-page-main.png?w=260)
2024. 02. 19.
0
[인프런 워밍업 클럽 0기] BE 1일차 과제
어노테이션을 사용하는 이유 (효과) 는 무엇일까?간결성 및 가독성 향상: 어노테이션을 사용하면 XML 구성 파일에 비해 코드가 간결해지고 가독성이 향상됨(설정 정보가 코드에 직접 포함되어 있기 때문에 빠르게 파악 가능) 코드의 모듈화: 어노테이션을 사용하면 특정 기능이나 역할을 수행하는 코드를 모듈화할 수 있다. @Controller, @Service, @Repository와 같은 어노테이션을 사용하여 각각의 역할을 하는 컴포넌트를 명확히 구분 가능의존성 주입 및 스프링 빈 설정: @Autowired나 @ComponentScan과 같은 어노테이션을 사용하여 의존성 주입(Dependency Injection)을 간단하게 설정 가능. 이로써 개발자는 더 적은 코드로 높은 수준의 추상화를 이용.AOP(Aspect-Oriented Programming) 지원: Spring은 AOP를 효과적으로 지원.어노테이션을 사용하여 메소드나 클래스에 특정 기능(로깅, 트랜잭션 처리 등)을 적용 가능.RESTful 웹 서비스 개발: Spring MVC에서 @RequestMapping, @GetMapping, @PostMapping과 같은 어노테이션을 사용하여 간단하게 RESTful 웹 서비스를 구축 가능.검증(Validation): @Valid 어노테이션을 사용하여 입력 값의 유효성을 검증.이벤트 처리: Spring에서는 이벤트 기반 프로그래밍을 지원하며, @EventListener와 같은 어노테이션을 통해 이벤트를 처리.테스트 용이성: 어노테이션을 사용하면 테스트 코드를 작성하거나 모의 객체(Mock Objects)를 사용하기가 훨씬 용이해짐.이러한 이유들로 인해 Spring 어플리케이션 개발에서는 어노테이션을 적극적으로 사용하게 되며, 이는 개발 생산성과 코드의 가독성, 유지보수성을 향상시키는 데 기여함.주석(//)과 어노테이션(@)의 차이주석// 이 메서드는 두 수를 더하는 기능을 수행합니다. public int add(int a, int b) { return a + b; }어노테이션@Service // 클래스에 @Service 어노테이션을 붙여서 Spring이 이 클래스를 빈으로 등록하도록 지시함 public class MyService { // ... }어노테이션은 주석과 유사하게 코드에 부가적인 정보를 제공하지만, 주석과 달리 런타임에 코드에 대한 메타데이터로 활용.주로 프레임워크나 라이브러리에서 사용되며, 컴파일러나 런타임 시에 어떤 특별한 작업을 수행하도록 지시할 때 활용. 나만의 어노테이션은 어떻게 만들 수 있을까?어노테이션 정의: 나만의 어노테이션을 만들려면 우선, Java의 어노테이션을 정의하는 인터페이스를 작성해야 함.Java의 어노테이션은 @interface키워드를 사용하여 정의됨.import java.lang.annotation.*; @Retention(RetentionPolicy.RUNTIME) // 어노테이션 정보를 유지하는 기간 (런타임까지 유지) @Target(ElementType.METHOD) // 어노테이션을 어디에 적용할 수 있는지 지정 (메소드에 적용) public @interface MyCustomAnnotation { // 어노테이션 멤버 정의 String value() default ""; // 기본값을 설정할 수 있는 멤버 int priority() default 0; } 어노테이션 사용하기: myMethod() 메소드에 @MyCustomAnnotation 어노테이션을 적용하여 컴파일된 클래스 파일을 사용할 때 리플렉션을 이용하여 어노테이션 정보를 읽을 수 있다.public class MyClass { @MyCustomAnnotation(value = "Custom Annotation Example", priority = 1) public void myMethod() { // 메소드 내용 } }
백엔드
・
워밍업클럽




