목록기초튼튼/JAVA (58)
IT 개발노트
Java API란? - Java로 프로그램을 만드는데 필요한 주요 기능을 미리 만들어서 제공 JavaAPI문서란? - JavaAPI가 제공하는 기능에 대한 상세한 정보 제공(html파일) JavaAPI 문서의 설치 - www.oracle.com 에서 압축파일을 다운받아서 압축해제 - docs -> api -> index.html파일
1. 해싱, 해시함수, 해시테이블 1.1 해시함수(hash function)란? : 데이터의 효율적 관리를 목적으로 임의의 길이의 데이터를 고정된 길이의 데이터로 매핑하는 함수이다. 이 때 매핑 전 원래 데이터의 값을 키(key), 매핑 후 데이터의 값을 해시값(hash value), 매핑하는 과정 자체를 해싱(hashing)라고 한다. 해시함수는 해쉬값의 개수보다 대개 많은 키값을 해쉬값으로 변환(many-to-one 대응)하기 때문에 해시함수가 서로 다른 두 개의 키에 대해 동일한 해시값을 내는 해시충돌(collision)이 발생하게 된다. 아래 그림은 이름-전화번호부를 매핑하기 위한 해시함수를 개념적으로 나타냈다. 예시의 해시함수는 ‘John Smith’와 ‘Sandra Dee’를 모두 ‘02’로 ..
1. 트리, 이진트리 1.1 트리란? : 트리는 그 모양이 뒤집어 놓은 나무와 같다고 해서 이런 이름이 붙었다. 위 그림에서 검정색 동그라미를 노드(node)라고 한다. 보통 데이터가 여기에 담긴다. 노드와 노드 사이를 이어주는 선을 엣지(edge)라고 합니다. 노드와의 관계를 표시합니다. 경로(path)란 엣지로 연결된, 즉 인접한 노드들로 이뤄진 시퀀스(sequence)를 가리킨다. 경로의 길이(length)는 경로에 속한 엣지의 수를 나타냅니다. 트리의 높이(height)는 루트노드에서 말단노드에 이르는 가장 긴 경로의 엣지 수를 가리킨다. 트리의 특정 깊이를 가지는 노드의 집합을 레벨(level)이라 부른다. 잎새노드(leaf node)란 자식노드가 없는 노드다. internal node란 잎새노..
자바빈(JavaBean)이란? 일반적인 웹 사이트는 디자이너와 프로그래머가 협력하여 개발한다. 그런데 프로그래머가 JSP페이지에 자바코드를 입력했을때 디자이너 입장에서는 해석하기 어려워지고 효율또한 매우 떨어지게 된다. 이런 비효율적인 부분을 지원하기위해 제공되는 기능의 형태가 자바빈이다. 자바빈은 JSP페이지의 디자인 부분과 로직부분을 나눔으로써 복잡한 자바코드를 줄이고 프로그램의 재사용성을 증가시킨다. 자바빈의 설계 규약 자바빈을 작성하기 위해서는 설계규약을 따라야 한다. 만약 설계규약과 맞지 않는 경우 자바빈의 특성을 갖지않는 클래스가 되어버릴 수 있다. 1. 멤버변수마다 별도의 get/set 메소드는 존재해야 한다. 2. get 메소드는 매개변수가 존재하지 않아야한다. 3. set 메소드는 반드시..
1234567891011121314151617181920212223242526272829package tcp; import java.net.ServerSocket;import java.net.Socket; public class Server { public static void main(String arg[]) { Socket socket = null; //접속한 Client와 통신하기 위한 Socket User user = new User(); //채팅방에 접속해 있는 Client 관리 객체 ServerSocket server_socket=null; //Client 접속을 받기 위한 ServerSocket int count = 0; Thread thread[]= new Thread[10]; //접속하는..
1. AnchorPane 12345678910111213141516171819202122232425262728package Java.sungju.JavaProject3; import javafx.application.Application;import javafx.scene.Scene;import javafx.scene.control.Button;import javafx.scene.layout.AnchorPane;import javafx.stage.Stage; public class AnchorPane01 extends Application { @Override public void start(Stage primaryStage) throws Exception { AnchorPane anchorPane = ..
12345678910111213141516171819202122package Java.sungju.JavaTestProject; import java.io.InterruptedIOException;import java.util.Scanner;import java.util.Date;import java.text.SimpleDateFormat; public class MainClass { public static void main(String[] args) { SimpleDateFormat simpl = new SimpleDateFormat("yyyy년 mm월 dd일 aa hh시 mm분 ss초"); for(int i=0; i
123456789101112131415161718192021222324252627282930313233343536373839404142package Java.sungju.JavaTestProject; import java.io.IOException;import java.util.Scanner; public class MainClass { public static void main(String[] args) throws IOException { Scanner in = new Scanner(System.in); int num; String s; boolean bo = true; while(bo) { System.out.println("===== 환 영 합 니 다 ====="); System.out.print..