▶ TCP(Transmission control Protocol) - 서버, 클라이언트 간의 1:1 소켓 통신 - 데이터를 교환하기에 앞서서 서버, 클라이언트가 연결되어있어야한다.(서버가 먼저 연결되어 있어야 하고 클라이언트의 요청을 대기해야한다.) - 신뢰성있는 데이터를 전달할 수 있다. ■ ServerSocket - 서버에서 클라이언트의 요청을 하면 그 요청을 받을 때까지 기다리는 클래스 - 사용법 : ServerSocket server = new ServerSocket(int portNumber) - 메서드 1. Socket client = server.accept(); 메서드를 통해 클라이언트의 연결을 기다리며 연결요청이 오면 Socket을 반납한다. ■ Socket - 클라이언트에서 서버에 요청..
▶ 프로그램 - 어떤 작업(프로세스)을 실행할 수 있는 파일(cpu로 자원을 할당받지 않은 상태) ▶ 프로세스 - 현재 동작하고(실행되고) 있는 프로그램(작업을 위해 cpu로부터 자원을 할당받음) ▶ 스레드 - 한 개의 프로세스(process)내에서 실제로 작업을 수행하는 단위 - 모든 프로세스에는 한 개 이상의 스레드가 존재하여 작업을 수행한다. ※ 모든 자바 어플리케이션은 Main Thread가 main메서드를 실행하면서 시작된다. ■ 스레드의 특징 1. 메인스레드가 종료되더라도 실행 중인 스레드가 하나라도 있다면 프로세스는 종료되지 않는다. => 주종관계가 명확히 설정되어있지 않았을 때 발생하는 특징 2. 각 스레드의 실행시점을 결정해 주는 스케쥴러가 따로 있기 때문에 매번 결과가 다르게 보인다. ..
▶ 제네릭(Generic) 여러 데이터 타입을 하나의 타입으로 일반화시킨다는 의미이다.. 컬렉션과 함께 가장 많이 사용되며 저장할 객체를 제한하는 기능으로 한 가지 종류의 클래스만 저장할 수 있게 해 놓은 기능이다. 별도의 제네릭 제시 없이 컬렉션 객체를 생성하게 되면 해당 컬렉션에 다양한 타입의 데이터 값들이 담길 수 있다. ※ 별도의 제네릭 설정을 으로 하면 해당 컬렉션 안에는 오직 Music객체만 담길 수 있다. , , , - 타입변수라고 부르며 내부에 들어간 알파벳 단어에는 기능이 없다. (단, 개발자 간의 암묵적인 규칙이 존재한다.) - 임의의 정해지지 않은 참조 자료형 타입을 의미한다. 실제 데이터 타입은 컴파일 시점에 정해진다. ※ 컴파일 시점이란 제네릭 클래스 객체 생성, 제네릭이 붙은 매..
▶ 컬렉션(Collection) - 자료구조가 내장되어 있는 클래스로 자바에서 제공하는 "자료구조"를 담당하는 "프레임워크"이다. - 다량의 데이터들을 관리하고자 할 때 배열 가지고 충분히 사용가능했었다. 단, 배열의 단점을 보완한 것이 컬렉션이다. - 데이터들이 새로이 추가되거나, 삭제가 되거나, 수정이 되는 기능들(알고리즘)들이 이미 정의되어 있는 틀이 바로 컬렉션이다. ■ 자료구조 - 방대한 데이터를 효율적으로 다룰때 필요한 개념 ■ 프레임워크 - 효율적인 기능들이 이미 정의되어있는 틀 ■ 배열과 컬렉션의 차이점 ● 배열의 단점 1. 배열을 쓰고자 할 때는 먼저 크기를 지정해줘야 한다. => 한번 지정한 크기는 변경이 불가하다. 즉, 새로운 값을 추가하고자 할 때 크기가 오버될 경우 새로운 크기의 ..
▶ 보조 스트림 - 기반 스트림(외부매체와의 직접적인 연결이 목적)의 부족한 기능들을 확장시킬 수 있는 스트림 - 보조 스트림은 단독으로 사용이 불가능하다. (단독으로 객체 생성 자체가 안된다.) [표현법] 보조스트림 변수명 = new 보조스트림(new 기반스트림(외부매체경로)); ■ Buffered - 속도 성능 향상 목적의 보조 스트림 - 버퍼 공간을 제공해서 데이터를 한 번에 모아뒀다가 한꺼번에 입출력 진행 ■ Object - 객체 단위로 입출력 목적의 보조 스트림 ■ Data - 자료형 단위로 입출력 목적의 보조 스트림 ▶ Buffered ■ BufferedReader / BufferedWriter 기반스트림 객체 먼저 생성(FileWriter) 보조스트림도 Reader/Writer 계열이면 기반..
▶ DAO(Data Access Object) - 데이터가 보관되어 있는 공간과 직접 접근해서 데이터를 입, 출력하는 클래스 ▶ 바이트 기반 스트림 - 외부매체를 지정하고 그 외부매체와 직접적으로 연결되는 1byte단위의 통로를 만들겠다. - 바이트 스트림 : 1byte단위로만 입출력할 수 있는 좁은 통로(xxxInputStream/xxxOutputStream) - 기반 스트림 : 외부매체와 직접적으로 연결되는 통로 ■ InputStream xxxInputStream : xxx매체로부터 데이터를 "입력"받는 통로(외부매체에 있는 데이터를 가지고 오겠다. 읽어드리겠다.) ■ OutputStream xxxOutputStream : xxx매체로부터 데이터를 "출력"하는 통로(외부매체에 데이터를 내보내겠다. 쓰..