Java 8 도입 이후에 Optional을 활용하면서 자주 사용하는 orElse(), orElseGet()의 차이점을 알아보겠습니다. 1. orElse(), orElseGet() 이란? orElse(), orElseGet 구현 코드 실제로 orElse()와 orElseGet()의 코드를 살펴보자. /** * If a value is present, returns the value, otherwise returns * {@code other}. * * @param other the value to be returned, if no value is present. * May be {@code null}. * @return the value, if present, otherwise {@code other} *..
JDBC란? Java DataBase Connectivity의 약어로 다양한 종류의 관계형 데이터베이스에 접속하고 SQL문을 수행하여 처리하고자 할 때 사용되는 표준 SQL 인터페이스 API이다. 즉, 자바에서 데이터베이스를 사용하는 절차에 대한 규약이다. DBMS에 따라 DB를 다루는 방식이 다르다면, 사용자는 각 DBMS의 방식을 모두 알아야하기 때문에 필요한 지식이 너무 많습니다. 그래서 JDBC를 통해 추상화된 인터페이스를 제공하기만 하고, 데이터베이스의 종류에 상관없이 각 JDBC 드라이버를 통해 특정 DBMS를 사용할 수 있습니다. JDBC Driver 실제 DB 관련 기능이 동작하려면 위에서 말한 인터페이스만으로는 작업할 수 없습니다. 따라서 java.sql의 인터페이스들을 상속받은 클래스 ..
Socket이란? 소켓(Socket)은 TCP/IP 기반 네트워크 통신에서 데이터 송수신의 마지막 접점입니다. 소켓 통신은 이러한 소켓을 이용하여 서버와 클라이언트 간의 데이터를 주고받는 양방향 연결 지향성 통신입니다. 보통 지속적으로 연결을 유지하면서 실시간으로 데이터를 주고받아야 하는 경우(게임, 채팅 등)에 사용됩니다. 소켓은 클라이언트 소켓과 서버 소켓으로 구분되며, 소켓간 통신을 위해서는 네트워크 상에서 클라이언트와 서버에 해당하는 컴퓨터를 식별하기 위해 IP주소와 컴퓨터 내에 현재 통신에 사용되는 응용프로그램을 식별하기 위한 포트 번호가 사용됩니다. TCP Socket - 양방향으로 바이트 스트림을 전송, 연결 지향성 - 오류 수정, 전송 처리, 흐름 제어 보장한다. - 송신된 순서에 따라 중..