안녕
-
람다식(2) / 메소드 참조프로그래밍/JAVA 자바 2021. 9. 10.
package lambdaEx; public class Ex101_MethodReference { public static String convert(Integer num, Conversion f) { return f.convert(num); } public static void main(String[] args) { // 메소드 참조 // 정수를 문자열로 변환 // Conversion c = (n) -> {return String.valueOf(n);}; Conversion c = n -> String.valueOf(n); String s = c.convert(100); System.out.println(s); Conversion c2 = String::valueOf; s = c2.convert(200..
-
자바 람다식(1) 개념프로그래밍/JAVA 자바 2021. 9. 10.
람다 함수 >> 함수를 보다 단순하게 표현 함. 프로그래밍 언어로 익명 함수 (Anonymous Functions) 이라고 함. - 익명 함수는 함수의 이름이 없음, 일급 객체의 특성을 가지고 있음 (일급객체 = 적용가능한 모든 연산을 지원하는 개체 함수를 값, 파라미터 전달, 변수 대입 등등) - 람다는 매개변수 화살표 ->와 괄호() {} 등을 이용해서 사용한다. package lambdaEx; // 람다식을 사용하지 않고 클래스에서 인터페이스를 구현하거나 익명 구현 객체 public class Ex001_Lambda { public static void main(String[] args) { // 인터페이스 구현 객체 User1 u1 = new UserImpl1(); u1.write(); // 익명..
-
어노테이션 (Annotation)프로그래밍/JAVA 자바 2021. 9. 9.
package annoEx; import java.util.Date; public class Ex001_BuiltinAnnotation { public static void main(String[] args) { User user = new User(); System.out.println(user); //System.out.println(user.toString()); user.sub1(); user.sub2(); } } class User { @Override public String toString() { return "Builtin Annotation 예제"; } @Deprecated // 더 나은 메소드가 있음을 나타낼때 사용 public void sub1() { System.out.println..
-
네트워크(2) / 소켓카테고리 없음 2021. 9. 9.
소켓은 전화기와 같음 나도 전화기가 있어야하고 상대방도 전화기가 있어야 통화가 가능한 것처럼 소켓도 주고받아야할 대상 모두 가지고 있어야함. 클라이언트와 서버의 통신 과정 package netEx; import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.JTextField; public class ChatForm extends JFrame implements ActionListener, ..
-
자바 네트워크(3) / 숫자 야구 게임프로그래밍/JAVA 자바 2021. 9. 9.
서버 코드 package netObj; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.net.ServerSocket; import java.net.Socket; import java.util.Random; import java.util.Vector; public class GameServer { private Vector client = new Vector(); private ServerSocket ss = null; private int port = 8000; private int guess; public static void main(String[] ar..
-
자바 네트워크(2.5) / UDP카테고리 없음 2021. 9. 9.
TCP/IP가 양방향 통신이라면 UDP는 그냥 일방적으로 한쪽에서 상대가 받든 말든 계속 쏘는 것 TCP와 UDP의 차이점 - 신뢰성 보장 힘듬 - 데이터 손실 여부 있음 - 패킷을 관리 해야함 - TCP보다 전송 속도는 빠름 자바에서 UDP 통신을 하려면 위의 DatagramPacket 클래스와 DatagramSocket 클래스를 사용해야 한다. 주고 받을 데이터와 관련된 클래스는 = DatagramPacket 실제 데이터의 전송과 관련된 클래스는 = DatagramSocket UDP 서버 코드 package udpEx; import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import jav..
-
자바 네트워크(1) URL, 소켓 ,TCP/IP프로그래밍/JAVA 자바 2021. 9. 7.
package netEx; import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.InetAddress; public class Ex001_InetAddress { public static void main(String[] args) { // www.naver.com 같은 주소를 치면 아이피를 알아 낼 수 있음. BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String host = null; try { System.out.print("호스트명[www.naver.com 또는 컴 이름] ? "); host = br.readLine()..
-
자바 UI swing / 버튼 추가 해보기 JFrame프로그래밍/JAVA 자바 2021. 9. 7.
package swingEx; import java.awt.BorderLayout; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; public class Ex001 extends JFrame { private static final long serialVersionUID = 1L; private JButton btn1, btn2, btn3, btn4; private JLabel lbl; public Ex001() { // x 버튼으로 프로그램을 종료 가능하도록 설정 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 기본적으로 JFrame는 BorderLayout을 ..