자바) Java 21의 주요 특징
·
자바 탐구
Java 21의 주요 특징 오라클이 최신 LTS버전인 Java21을 출시하였습니다. 미국 라스베이거스에서 개최한 연례 컨퍼런스 2023년 9월 19일(현지) "오라클 클라우드월드2023"에서자바 21 LTS(Long-Term Supprot) 버전을 출시한다고 발표하였습니다. 1.  SequencedCollection 자바 21 이전의 코드에서 List에서 첫 번째와 마지막 원소를 구하기 위해서는 아래와 같이 할 수 있습니다. List list = new ArrayList();String first = list.get(0);String last = list.get(list.size() -1);  자바 21 이후부터는 정해진 순서의 원소를 조회할 수 있는 컬렉션을 표현하는 새로운 인터페이스를 도입합니다.이를..
데이터베이스) JDBC 와 MyBatis(SQL Mapper)
·
데이터베이스 탐구
JDBC(Java Database Connectivity) JDBC(Java Database Connectivity)는 자바에서 가장 오래된 데이터베이스 연동 기술로서, 모든 관계형 데이터베이스에 대해서 동일한 자바 코드를 사용합니다. JDBC는 다형성(Poloymorphism)을 기반으로 동작하기 때문에 데이터베이스와 무관하게 동일한 자바 코드를 사용할 수 있습니다.    DAO(Data Access Object) DAO(Data Access Object) 클래스를 구현할 때는 JDBC(java.sql 패키지)가 제공하는 인터페이스를 이용합니다.그러면 인터페이스를 구현한 드라이버가 실질적인 데이터베이스 연동을 처리합니다.따라서 데이터베이스가 변경되는 경우에 각 벤더에서 제공하는 드라이버만 교체해 주면 ..
자바) Stream API - 3) 스트림(Stream)
·
자바 탐구
스트림(Stream)스트림(Stream)은 Java 8에서 추가되었습니다.개울, 시내, 줄기, 줄 등의 의미로 무엇인가가 줄줄이 이어져 있는 것을 의미합니다. 스트림(Stream)은 컬렉션과 같은 연속된 정보를 처리하는 데 사용합니다.컬렉션에는 스트림을 사용할 수 있지만, 배열에는 스트림을 사용할 수 없습니다.하지만, 배열을 컬렉션 List로 변환하는 방법이 존재합니다. Integer[] values = { 1, 3, 5 };List list = new ArrayList(Arrays.asList(values)); 대표적으로 위와 같이 Arrays 클래스의 asList() 메서드로 변환이 가능합니다.이 외에도 Stream 클래스를 이용하는 방법도 있습니다. 스트림의 구조 스트림은 다음과 같은 구조를 가집니..
자바) 예외 클래스
·
자바 탐구
예외 클래스 예외 (exception) 사용자의 잘못된 조작 또는 개발자의 잘못된 코딩으로 인해 발생하는 프로그램 오류 예외가 발생하면 프로그램은 곧바로 종료된다는 점에서 에러와 비슷하지만, 예외는 예외처리(exception handling)를 통해서 프로그램을 종료하지 않고, 정상 실행 상태를 유지할 수 있도록 할 수 있다. 자바는 예외가 발생할 가능성이 높은 코드를 컴파일할 때 예외 처리 유무를 확인한다. 만약 예외 처리 코드가 없다면 컴파일이 되지 않는다. 하지만 모든 예외에 대해 예외처리 유무를 확인하는 것은 아니다. try-catch-finally 블록 try { 예외 발생 가능 코드 } catch(예외클래스 e) { 예외 처리 } finally { 항상 실행 } try 블록에는 예외 발생 가능..
자바) 오버로딩과 오버라이딩
·
자바 탐구
오버로딩과 오버라이딩 오버로딩 (Overloading) 클래스 내에 같은 이름의 메서드를 여러 개 선언하는 것 메서드 오버로딩의 조건 매개 변수의 타입, 개수, 순서 중 하나가 달라야 한다 class A { 리턴 타입 메서드명 (타입 변수, ...) { ... } 리턴 타입 메서드명 (타입 변수, ...) { ... } } 리턴타입 : 같아도 상관없음 메서드 이름 : 동일해야함 매개변수 : 매개변수의 타입, 개수, 순서가 달라야함 매개값을 다양하게 받아서 처리할 수 있도록 하기 위해서는 오버로딩이 필요하다. int plus(int x, int y) { int result = x + y; return result; } double plus(double x, doutble y) { double result ..
스프링) RestClient
·
자바 탐구
RestClient REST API 서버에 HTTP 요청을 보낼 수 있는 클라이언트 툴 또는 라이브러리 client - Frontend, Frontend - Backend 뿐만이 아니라, Backend A - Backend B 사이에도 Backend A가 Backend B의 리소스를 사용할 수 있다. 클라이언트와 서버의 관계는 상대적이기 때문에 Frontend - Backend의 관계에서는 Frontend가 클라이언트가 되고, Backend - Backend 관계에서는 리소스를 요청하는 쪽이 클라이언트가 된다. UI가 갖춰진 RestClinet로는 Postman, Thunder Client, Insomnia, Soap UI 등이 있다. SpringFramework에서는 REST엔드포인트에 대한 호출을 수..
백준) (자바)10250 ACM 호텔
·
알고리즘 탐구
ACM 호텔 ACM 호텔 - 백준 - 10250번: ACM 호텔 프로그램은 표준 입력에서 입력 데이터를 받는다. 프로그램의 입력은 T 개의 테스트 데이터로 이루어져 있는데 T 는 입력의 맨 첫 줄에 주어진다. 각 테스트 데이터는 한 행으로서 H, W, N, 세 정수 www.acmicpc.net N번째 손님이 H, W 크기의 호텔에서 특정순서대로 방배정이 된다면 몇 호에 투숙하게 되는지 구하는 문제이다. N 번째와 H(높이)를 이용하여 투숙할 층을 구한다. 나머지로 몇 층에 투숙하게 될지 알 수 있는데 만약 6층에 6번째 손님이 온다면 0층이 되므로 그때는 높이와 똑같이 6층으로 맞춰주는 조건을 추가해 준다. int floor = n % h; if(floor == 0) { floor = h; } strin..
백준) (자바)4153 직각삼각형
·
알고리즘 탐구
직각삼각형 직각삼각형 - 백준 - 4153번: 직각삼각형 입력은 여러개의 테스트케이스로 주어지며 마지막줄에는 0 0 0이 입력된다. 각 테스트케이스는 모두 30,000보다 작은 양의 정수로 주어지며, 각 입력은 변의 길이를 의미한다. www.acmicpc.net 3개에 대한 입력에 대하여 직각삼각형인지를 판별하면 되는 문제이다. 피타고라스의 정리, 피타고라스의 정리 증명 피타고라스의 정리, 피타고라스의 정리 증명 학교를 졸업한 지 오랜 시간이 지난 분들도 1학기 때 공부했던 근의 공식과 이 글에서 공부할 피타고라스의 정리는 들으면 기억이 난다고 할 거에요. 피타고라스의 정리는 이처럼 학교를 졸업한 mathbang.net 위 링크는 피타고라스의 정리에 대해서 간략하게 설명이 되어있다. do - while문..
오지랖 토끼
'java' 태그의 글 목록