JAVA/JAVA
-
Java | Lambda Expression 람다식JAVA/JAVA 2020. 2. 14. 00:36
Lambda Expression 람다식 자바에서 제공하는 함수형 프로그래밍 방식 자바 8부터 함수형 프로그래밍 지원 Functional Programming(FP): 함수형 프로그래밍 함수의 구현과 호출만으로 프로그램을 만들 수 있는 프로그래밍 방식 함수 이름이 없는 익명 함수를 만드는 것 Lambda 문법 (매개변수) -> {실행 코드;} 메소드 이름과 반환형을 없애고 -> 기호 사용 매개변수 자료형 생략 가능 매개변수가 하나인 경우에는 괄호 생략 가능 중괄호 안의 구현 부분이 한 문장인 경우 중괄호 생략 가능 중괄호 안의 구현부가 한 문장이더라도 return문은 중괄호 생략 불가 중괄호 안의 구현부가 return문 하나라면 중괄호과 return을 모두 생략하고 식만 작성 가능 함수형 인터페이스 자바에..
-
Java | Enum 열거형JAVA/JAVA 2020. 2. 13. 23:41
Enum 열거형 java.lang.Enum Class Enum> 연관된 상수들을 하나의 타입으로 지정할 수 있도록 하는 클래스 서로 관련있는 상수들을 모아서 하나의 자료형으로 선언함 열거형으로 선언된 순서에 따라 0부터 index 값을 가지며, 1씩 증가함 enum 열거형으로 지정할 상수들은 전부 대문자로 선언 열거형 상수들을 선언한 뒤에 세미콜론(;)을 작성하지 않음 상수("문자열")등 상수와 다른 값을 연결하는 경우에는 ; 작성 다른 클래스와 마찬가지로 다른 파일, 클래스 안, 클래스 밖에 선언 가능 Enum 장점 코드가 단순해지며 가독성이 좋아짐 인스턴스 생성과 상속을 방지하여 상수값의 안정성이 보장됨 상수 자료형을 정의함으로써 해당 자료형 이외의 상..
-
Java | JDBC 예제 with OracleJAVA/JAVA 2020. 2. 13. 22:19
예제 실제로 Oracle DB에 접속해서 테이블을 생성하고 데이터 입력 / 검색 / 출력 후 DB관련 객체를 메모리에서 해제 package j200213; import java.sql.*; public class DBSelect3 { public static void main(String[] args) { // Connection 인터페이스의 객체 변수 선언 Connection conn = null; // DB url 변수 String url = "jdbc:oracle:thin:@localhost:1521:orcl"; // SQL 문장 객체 변수 // try~catch문 내부에 선언하면 변수로 인식을 못하는 경우가 발생 Statement stmt = null; // 테이블 생성 SQL문장 Prepared..
-
Java | JDBC with OracleJAVA/JAVA 2020. 2. 13. 22:09
JDBC Java Database Connectivity 자바에서 Database에 접속할 수 있도록 제공하는 API JDBC 개요 자바 어플리케이션에서 표준화된 데이터베이스 접근 제공 각 데이터베이스 접속에 대한 상세한 정보를 알 필요 없음 java.sql 패키지에 DB에 관련된 거의 모든 것이 인터페이스로 구성되어 있음 즉, 데이터베이스는 달라도 같은 이름의 메소드를 사용하게 됨 DB에 맞는 JDBC Driver 필요 과정: 웹에서 DB 요청 → jsp → JDBC api → JDBC Driver → DB JDBC API DB에 대해서 적절한 처리를 할 수 있도록 설계된 인터페이스 및 클래스 집합 java.sql 패키지에서 제공되므로 import 해야 함 JDBC Driver 특정 DB와 통신하기 위..
-
Java | Properties ClassJAVA/JAVA 2020. 2. 12. 17:28
Properties Class java.util.Properties Map 인터페이스를 구현하며 Hashtable 컬렉션을 상속하는 클래스 .properties 파일을 처리하는 기능을 가진 컬렉션 Secure Coding을 할 때 사용할 수 있는 방법 중 하나 컬렉션이므로 import를 해주어야 사용 가능 외부로부터 환경설정 파일을 불러오는 기능이 내장되어 있음 ex) DB연동: ~.conf or .properties(주로 디폴트) ※ Secure Coding: 외부로부터의 해킹 소지가 있는 소스 코드의 보안을 높이는 작업 Properties Method 메소드 설명 void load(InputStream inStream) 해당 스트림으로부터 key=value 프러퍼티 리스트를 읽어 들임 일반적인 환경설..
-
Java | Socket & Thread 채팅 프로그램 만들기JAVA/JAVA 2020. 2. 12. 17:10
Socket & Thread 채팅 프로그램 만들기 지금까지 학습했던 거의 모든 내용이 나오는 예제 클라이언트끼리 실시간으로 채팅할 수 있는 프로그램 작성 ① 클라이언트측 사용자가 직접 사용하는 UI 디자인 서버에 접속할 수 있도록 클라이언트 소켓 생성 채팅은 실시간으로 이루어지기 때문에 각 클라이언트마다 스레드를 가져야 함 채팅 메세지는 입출력 스트림으로 서버와 송수신할 수 있도록 함 package j200212; // Socket 클래스 import java.net.*; // 입출력 클래스 import java.io.*; // 그래픽 관련 클래스 import java.awt.*; // GUI import javax.swing.*; // JFrame, JTextField, JTextArea, JScrol..
-
Java | Network (2) ServerSoket & SocketJAVA/JAVA 2020. 2. 11. 17:42
ServerSocket & Socket Class java.net.[Server]Socket 자바에서 서버-클라이언트 프로그램 작성을 위해 제공하는 클래스 ServerSocket 서버 측에서 실행되는 애플리케이션을 작성하기 위해 사용하는 클래스 ServerSocket 생성자 생성자 설명 ServerSocket(int port) 클라이언트 요청을 받아들일 포트(port)번호를 가지고 ServerSocket 객체 생성 포트 번호는 1024~49151 사이에서 몇 가지 번호를 제외하고 사용 가능 ServerSocket Method 메소드 설명 Socket accept() 클라이언트 요청을 받아서 Socket 객체 생성 후 반환 InetAddress getInetAddress() 현재 서버 소켓의 지역 주소 정..
-
Java | Network (1) InetAddress & URLJAVA/JAVA 2020. 2. 11. 17:32
Network 동일한 데이터 전송 프로토콜을 사용해서 통신하는 일련의 장치들을 총칭하는 것 Protocol 여러 장치들이 서로 교신하기 위해 사용하는 의사소통 방식 TCP/IP 컴퓨터간 대화에 필요한 통신 규약을 의미하는 프로토콜 중 현재 표준이 되는 프로토콜 TCP: Transmission Control Protocol IP: Internet Protocol Network Class java.net 패키지에서 network와 관련된 클래스를 제공함 InetAddress, URL, Socket, ServerSocket etc. 접속하고자 하는 경로가 실제로 존재하지 않을 수도 있기 때문에 반드시 예외처리를 해야함 InetAddress java.net.InetAddress ip 정보를 가지고 있는 네트워크..