728x90
package p11_network;import javax.swing.*;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.IOException;import java.net.Socket;//1. 입력후 글자 지워짐//2. 외부메세지를 textArea 에 보이게하기//3. 스롤내려가게 만들기//4. 메세지 공백 안보내지게public class Ex01TcpIpMultiChatClient extends JFrame { public static void main(..
Stream-> Generices-> Lambda-> 함수형 인터페이스 배열 및 컬렉션에 저장된 요소를 반복 처리하기 위해서는 for문을 이용하거나 lterator를 이용한다Java8부터 배열 및 컬렉션을 다루기 위해서 Stream이 사용가능하다 반복문과 Iterator :: 외부 반복자Stream 은 원소의 처리를 위해서 컬렉션 내부로 주입시켜서 처리 하는 :: 내부 반복자 Function Package :: 함수형 인터페이스 java8 부터 배열 및 컬렉션을 다루기 위해 Stream 사용 대량의 데이터를 배열이나 컬렉션을 스트림으로 변환해서 원소를 꺼내어서 일일히 다루지 않고 처리해야할 내용을 함수형 인터페이스를 통해서 정의만 해주면 내부 반복을 통해서 결과를 생성..
class값, 상태 -> 멤버변수 Process(연산, 조건, 반복) -> method(메소드)입출력과 Thread는 항상 예외가 발생 할 수 있다그래서 항상 TryCatch문으로 처리를 해주어야한다 Thread는 멀티스레딩을 통해 동시에 여러 작업을 수행할 수 있도록 지원하는 클래스이다멀티스레딩을 사용하면 CPU 자원을 더 효율적으로 활용하고 응답성을 개선할 수 있다package p09_Thread;public class Ex01Thread { public static void main(String[] args) { for (int i = 10; i >0 ; i--) { System.out.println(i); try { Thread.sleep(1000); ..
배열과 collection 배열의 장점과 단점은 장점 : 복수의 데이터를 하나의 이름으로 처리(index 접근)단점 : 배열의 크기 조정 불가하고 타입이 고정적이다 하지만 collection은 size가 가변적이고 타입에 자유롭기 때문에리스트를 사용하면 자료 추가와 수정이 용이하다 종류: List(순서 O,중복 O), Set(순서 X, 중복 X) ,Map(순서{key:X, value: X}/중복{key: X value: O}) + Hash, Tree List 특징: 순서가 있고, 중복이 가능하다 Member라는 클래스를 생성하여 List 안에 Member를 추가해주려고 한다class Member{ private String id; private String pass; private String n..
입출력 단위 : StreamByte 기반(Binary 기반)- InputStream : 프로세스 안으로 들어오는 것-OutputStream : 프로세스 밖으로 나가는 것 Char 기반(Char 기반)- Reader-Writer import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;public class Ex01Byte { public static void main(String[] args) { byte[] inSrc ={0,1,2,3,4,5,6,7,8,9}; byte[] outSrc= null; ByteArrayInputStream input = new ByteArrayInputStream(inSrc); ..
String 자바에서는 문자열을 == 로 비교하면 제대로된 값이 나오지 않는다public class Ex01String { public static void main(String[] args) { String str1 = "hello"; String str2 = new String("hello"); System.out.println(str1 == str2); //false }} str1과 str2 에 "hello"라는 문자열을 넣어주었지만str1 이랑 str2의 출력 결과가 false 로 출력되고 다르다고 출력된다 이를 확인하기 위해서hashCode를 사용하여 객체의 중복 여부를 확인하거나 빠르게 검색 할 수 있다public class Ex01String { public static..
객체의 확장클래스의 인스턴스인지를 확인하는 연산Member m1 = new Member("LGH", "010-3446-5555");System.out.println(m1 instanceof Object);//모든 클래스는 Object를 상속 받는다// extends Object 안써두 됨//상속 할 경우에는 Memeber 변수와 method 만 상속class Member extends Object { String name, mobile; public String toString() { return String.format("Name : %s , Mobile : %s", name, mobile); } public Member(String name, String mobile) { this...
배열 같은 변수의 이름으로 반복되는 작업을 위한 저장 공간 선언과 초기화를 한번에 진행 int[] arr = new int[10];선언과 초기화 분리String [] strings;strings = new String[3];선언과 초기화를 직접 값 입력해서 선언int [] arr1= new int[]{0,1,2,3,4};int [] arr2= {0,1,2,3,4};타입에 따른 기본변수 와 참조변수의 기본값 public class Ex01Array { public static void main(String[] args) { //배열 : 같은 변수의 이름으로 반복되는 작업을 위한 저장 공간 int[] arr = new int[10]; Utils.typeOf(arr); //int[] ..
switch ~ case ~ break문String input = JOptionPane.showInputDialog("당신이 태어난 달 입력 :");javax.swing 에서 제공하는 라이브러리다음과 같은 폼을 제공해 준다int birthMonth = Integer.parseInt(input); //int 형으로 변경JOptionPane.showInputDialog는 String 형으로 입력 받기 때문에 switch 안에서태어난 달을 입력받기 위해서 int 형으로 값을 형변환 해주어야함 Integer.parseInt() 를 사용해서 형변환이 가능하다switch (입력 값) { case (조건): //조건 만족시, 원하는 결과 작성 break; default: ..
정보은닉이 적용된 클래스에서 정보를 저장하고 꺼내오는 첫번째 방법 Person 클래스 안에있는 멤버변수들이 private 가 되지 않으면 다른 클래스 안에서쉽게 가져와서 사용이 가능하지만 보안에 취약함public class Ex02GetterSetter { public static void main(String[] args) { Person p1 = new Person(); //속성에 private을 붙이면 외부에서 접근불가 p1.id = "admin"; p1.pass = "1234"; p1.pass = "1111"; }}class Person { String name; String id; String pass; String moblie;} private를 하..