JAVA 썸네일형 리스트형 [Java] 자바 웹 기술의 역사 목차Servlet의 등장 (1997)JSP (Java-Server Pages)Servlet, JSP 기반의 MVC 패턴 도입MVC 프레임워크의 등장 : Struts, Spring MVC (2000~2010)Annotaion 기반의 Spring MVC (2007~현재)Spring Boot의 등장 (2014~현재) Servlet의 등장 (1997)등장 이유 : 1990년대 후반 CGI(Common Gateway Interface)는 각 요청마다 프로세스를 새로 생성해야 했기 때문에 성능 문제가 심각했습니다.이를 해결하기 위해 자바 기반의 고성능, 멀티스레드 방식 웹 서버 기술이 필요했습니다.개요 :자바로 작성된 서버 측 프로그램으로, 웹 요청을 처리하고 동적 콘텐츠를 생성합니다.`javax.servlet`.. 더보기 [Java] Lombok 라이브러리 목차Lombok 정의Lombok 특징Lombok 작동 방식대표적인 Lombok 어노테이션주요 Lombok Annotation 예시결론 Lombok 정의Java 개발에서 보일러 플레이트 코드를 줄여주는 라이브러리입니다.더보기❗보일러 플레이트 코드란: 최소한의 변경으로 여러곳에서 재사용되며, 반복적으로 사용되는 표준화된 코드를 말합니다. Lombok 특징`어노테이션 기반`으로 동작코드 간결성유지보수 편의성 향상프로젝트 빌드 시 자동으로 필요한 메서드가 생성 Lombok 작동 방식컴파일 타임에 주어진 어노테이션을 바탕으로 필요한 코드를 자동으로 생성합니다. 대표적인 Lombok 어노테이션어노테이션설명`@Getter`모든 필드에 대해 getter 메서드 생성`@Setter`모든 필드에 대해 setter .. 더보기 [Java] Optional 목차개요목차nullOptinal 개요개발자를 곤란하게 하는 null에 대해서 알아보고 그 null 값을 명시적으로 처리할 수 있는 Optional이 무엇인지 알아봅시다. 목차1. nullNullPointerExceptionnull 처리 방법2. OptionalOptional 구조Optional 특징Optional 클래스 주요 메서드 및 코드 예제Optional 사용 예제 null객체가 존재하지 않음을 나타내는 키워드입니다. NullPointerException`null`을 참조하려 하면 발생하는 런타임 오류입니다. 런타임 오류는 언체크 예외로 컴파일러가 잡아주지 않습니다. (따라서 처리를 안해주면 큰일난다.) 발생하는 상황은 다음과 같습니다.String name = person.ge.. 더보기 [Java] 동등성과 동일성 목차개요목차동등성 (Equality)동일성동등성과 동일성 차이와 예제 코드 개요자바에서 문자열을 비교하려고 하는 할 때, 내가 생각했던 것과 다른 결과가 나온 경험이 있습니다. 그 이유는 동등성과 동일성이라는 것의 차이에 있습니다. 동등성 (Equality)두 객체의 내용(값)이 같은지를 비교합니다. `equals()` 메서드를 사용합니다. equals()Object 클래스의 메서드이며, 문자열의 경우 String 클래스에서 오버라이드되어 있습니다.내부적으로 문자열의 각 문자 값을 순서대로 비교하여 내용이 같은지를 확인합니다. equals() 메서드 내부 동작Object를 상속받은 String 클래스의 equals를 확인해보면 다음과 같이 equals 메서드가 오버라이드되어 있습니다.pub.. 더보기 [Java] Enum 목차개요enum 탄생 배경문자열 방식 vs enum 방식 비교Java enum의 주요 특징enum 활용 예제정리 : enum의 이점 개요enum은 기존 방식의 한계를 보완하고자 만들어졌다. 기존 방식과 enum은 얼마나 다른지 확인해보자. enum 탄생 배경Java의 enum은 서로 관련 있는 상수들의 집합을 정의할 때 사용하는 특수한 데이터 타입이다. enum을 사용 하기 전에는 String을 이용하였다. 하지만 이 기존 방식은 타입 안전성 부족 등 여러 단점이 있다. 이러한 한계를 보완하기 위해 enum을 사용하게 되었다. 문자열 방식 vs enum 방식 비교옛날 방식 : 문자열 방식public int Day(String day) { if(day.equals(MONDAY)) Sy.. 더보기 [Java] Lv_4 도서관 프로젝트 요구사항 ⬜ 사용자는 도서를 대여하고 반납할 수 있다.⬜ 사용자별로 어떤 책을 대여했는지 확인할 수 있어야 한다.⬜ 사용자 이름과 ID를 가진다. 문제 풀이Main더보기package lv_4;import java.util.ArrayList;import java.util.Optional;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); Library library = new Library(new ArrayList(), new RentService()); library.addBook(n.. 더보기 [Java] Lv_3 도서관 프로젝트 요구사항⬜ 도서를 대여할 수 있어야 한다.⬜ 대여 중인 도서는 다시 대여할 수 없다.⬜ 반납 기능이 있어야 한다. 문제 풀이Main더보기package lv_3;import java.util.ArrayList;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); Library library = new Library(new ArrayList()); library.addBook(new Book("The Little Prince", "Antoine de Saint-Exupéry", 1943).. 더보기 [Java] Lv_2 도서관 프로젝트 요구사항⬜ 여러 권의 도서를 저장할 수 있어야 한다.⬜ 전체 도서 목록을 출력할 수 있어야 한다.⬜ 새로운 도서를 추가할 수 있어야 한다. 문제 풀이Main더보기package lv_2;import java.util.ArrayList;public class Main { public static void main(String[] args) { Library library = new Library(new ArrayList()); library.addBook(new Book("The Little Prince", "Antoine de Saint-Exupéry", 1943)); library.addBook(new Book("Cinderella", "Charles Per.. 더보기 이전 1 2 3 4 5 다음