Java 20

(지피티 선생님의) InvokeDynamic 특강

(지피티 선생님의) 람다와 일급 객체, FP 특강🍱  말밥: 람다와 일급 객체람다를 이렇게 생각해봐. ‘코드를 바로 손에 들고 쓸 수 있는 작은 조각’ 같은 거야. 한 번, 이런 상상을 해보자:🍳 요리사 이야기요리사가 있는데, 이 사람은 특99duuk.tistory.com이어서!!! 🍱 말밥: 인보크 다이나믹이 뭐야?자, 인보크 다이나믹(InvokeDynamic)은 자바의 "마술 도구" 같은 거야.평소에 우리가 코드를 실행할 때, 자바는 "야, 이 메서드 찾아봐!" 하면서 메서드 호출 경로를 딱딱하게 정해둬.그런데 인보크 다이나믹은 이렇게 고정된 호출 경로를 완전히 유연하게 만들어줘.🍳 비유: 요리사의 비법보통 요리사가 요리를 만들려면:**레시피(코드)**를 꺼내고,그걸 따라 만들어야 해.즉, 어..

Java 2024.12.12

파라미터 타입이 다른 공통 로직 모듈화 - 어댑터 패턴

그리고 다시 이어서 2024.12.11 - [Java] - 파라미터 타입이 다른 공통 로직 모듈화 - 인터페이스 파라미터 타입이 다른 공통 로직 모듈화 - 인터페이스파라미터 타입이 달라 코드 중복이 발생하는 문제"를 인터페이스를 통해 해결하는 것을 간단한 예로 다시 정리해둔 것임...Animal 인터페이스를 활용하여 공통 로직을 모듈화하고,파라미터 타입99duuk.tistory.com 기존 코드를 수정하기 두렵거나.. 다양한 타입의 객체를 통합된 방식으로 처리해야 하는 상황이라면 어댑터 패턴 또한 고려해볼만할지도? (맞는지모름) 1. 어댑터 패턴의 기본 개념어댑터 패턴은 두 가지 시스템(또는 클래스)이 호환되지 않을 때,중간에 어댑터 클래스를 만들어 서로를 연결하는 디자인 패턴임이 패턴은 특정 인터페이스..

Java 2024.12.11

파라미터 타입이 다른 공통 로직 모듈화 - 정적 팩토리 메서드

2024.12.11 - [Java] - 파라미터 타입이 다른 공통 로직 모듈화 - 인터페이스2024.12.11 - [Java] - 파라미터 타입이 다른 공통 로직 모듈화 - 제네릭 파라미터 타입이 다른 공통 로직 모듈화 - 제네릭파라미터 타입이 다른 공통 로직 모듈화 -2024.12.11 - [Java] - 파라미터 타입이 다른 공통 로직 모듈화 - 인터페이스 파라미터 타입이 다른 공통 로직 모듈화 - 인터페이스파라미터 타입이 달라 코99duuk.tistory.com다시 이어서 .. 2024.10.21 - [Java] - 정적 팩토리 메서드 정적 팩토리 메서드| 정적 팩토리 메서드는 객체를 만드는 특별한 방법임일반적인 생성자 대신, 클래스 안에 객체를 만드는 전용 메서드를 만들어 사용함.이 메서드는 이름..

Java 2024.12.11

파라미터 타입이 다른 공통 로직 모듈화 - 제네릭

파라미터 타입이 다른 공통 로직 모듈화 -2024.12.11 - [Java] - 파라미터 타입이 다른 공통 로직 모듈화 - 인터페이스 파라미터 타입이 다른 공통 로직 모듈화 - 인터페이스파라미터 타입이 달라 코드 중복이 발생하는 문제"를 인터페이스를 통해 해결하는 것을 간단한 예로 다시 정리해둔 것임...Animal 인터페이스를 활용하여 공통 로직을 모듈화하고,파라미터 타입99duuk.tistory.com 이어서..  모든 클래스가 공통 부모 클래스(Auth)를 상속받고 있을 경우,인터페이스 없이 제네릭을 활용해 공통 로직 처리 ..public class Dog extends Auth{ private String name; private int age; private String bree..

Java 2024.12.11

파라미터 타입이 다른 공통 로직 모듈화 - 인터페이스

파라미터 타입이 달라 코드 중복이 발생하는 문제"를 인터페이스를 통해 해결하는 것을 간단한 예로 다시 정리해둔 것임...Animal 인터페이스를 활용하여 공통 로직을 모듈화하고,파라미터 타입이 달라도 하나의 메서드에서 처리할 수 있도록 ... Dog, Cat, Bird와 같은 다양한 동물 객체가 있각 동물 클래스는 공통적으로 이름(name)과 나이(age)를 가지고 있지만,특정 동물마다 고유한 속성이 추가로 존재 공통 로직은 동물의 이름과 나이를 출력하는 작업하지만 각 동물 클래스가 서로 다른 타입이기 때문에 코드 중복이 발생클래스 구조 public class Dog { private String name; private int age; private String breed; // 고유 ..

Java 2024.12.11

jsp

var: 반복 시 사용할 변수 이름 (예: item).items: 반복할 대상 (Java의 List, Set, 배열, 또는 Map).begin, end: (선택 사항) 반복의 시작과 끝 인덱스를 지정.step: (선택 사항) 반복 시 건너뛸 간격.는 JSP의 JSTL 태그 중 하나로, 데이터를 출력할 때 사용일반적으로 ${expression}과 동일한 역할을 하지만, HTML 이스케이프를 지원한다는 차이HTML 태그"; request.setAttribute("content", content);%>일반 출력: ${content}HTML 이스케이프 출력: 일반 출력: HTML 태그HTML 이스케이프 출력: <b>HTML 태그</b> JSTL에서 조건문을 구현하기 위해 사용Java의..

Java 2024.12.10

Java Stream - Stream, map, collect()로 리스트 객체 가공

rows는 Row라는 클래스의 객체 리스트.  List 타입List rows = new ArrayList();rows.add(new Row(1, "Alice", 10));rows.add(new Row(2, "Bob", 20));rows.add(new Row(3, "Charlie", 30)); rows는 Row 객체를 담고 있는 리스트. 이 리스트에 대해 .stream()을 호출하고, 그 다음 .map() 연산을 적용해 데이터를 변환할 수 있음rows = rows.stream() .map(row -> { // 예를 들어 value 값을 2배로 만든 새로운 Row 객체를 반환한다고 가정 return new Row(row.getId(), ro..

Java 2024.10.29

일급 컬렉션

| 일급 컬렉션(First-Class Collection)일급 컬렉션은 컬렉션을 포함한 클래스를 만들어 사용하는 방식을 말함이 클래스는 해당 컬렉션 하나만 필드로 가지며, 그 컬렉션과 관련된 동작을 함께 정의함  - 단일 책임 원칙: 일급 컬렉션은 하나의 컬렉션에 대한 책임만 가짐- 불변성: 컬렉션의 불변성을 보장할 수 있음- 상태와 행위의 결합: 컬렉션과 관련된 동작을 한 곳에서 관리- 비즈니스 로직 캡슐화: 컬렉션과 관련된 비즈니스 로직을 해당 클래스 내에 캡슐화- 이름이 있는 컬렉션: 컬렉션의 의도를 명확히 표현할 수 있음 일급 컬렉션은 마치 특별한 용도의 상자와 같습니다. 일반 컬렉션이 그냥 물건을 담는 평범한 상자라면, 일급 컬렉션은 특정 종류의 물건만 담을 수 있고, 그 물건들을 어떻게 다뤄야..

Java 2024.10.21

정적 팩토리 메서드

| 정적 팩토리 메서드는 객체를 만드는 특별한 방법임일반적인 생성자 대신, 클래스 안에 객체를 만드는 전용 메서드를 만들어 사용함.이 메서드는 이름을 가질 수 있어서 객체가 어떤 목적으로 만들어지는지 더 명확하게 알 수 있음  레고 세트를 생각해보세요. 보통은 설명서를 따라 직접 조립하지만(일반 생성자), 때로는 이미 조립된 부분(예: 우주선 조종석)을 구매할 수 있습니다. 이렇게 미리 조립된 부분을 제공하는 것이 정적 팩토리 메서드와 비슷합니다. 목적에 맞게 미리 구성된 객체를 제공받는 것이죠.   | 정적 팩토리 메서드는 객체 생성을 캡슐화하는 디자인 패턴임- 이름을 가질 수 있어 생성 목적을 명확하게 표현할 수 있음- 호출될 때마다 새 객체를 생성할 필요가 없음 (캐싱, 객체 풀링 등 가능)- 반환..

Java 2024.10.21