Stream API란? Java8의 새로운 기능인 java.util.stream 패키지는 함수형 연산 작업(Collections의 map, reduce, filter, .etc)을 지원하는 패키지이다. 와 에서 많이 쓰는 것들이 에도 있다! Stream과 Collections의 여러 가지 차이점 Stream은 자료를 저장할 수 있는 data structu…
HashMap 용례 생성 및 선언 : 키가 없거나 null로 매핑 된 경우 키 - 값 쌍이 맵에 추가된다. : 항목을 추가하거나 맵의 기존 항목을 수정한다. 키를 가지는 엔트리가 존재하지 않는 경우는 아무것도 실시하지 않는다. computeIfPresent()으로 존재하는 키 값 찾기 VS containsKey(key)과 조건문으로 존재하는 키 값 찾…
입력 입출력을 빠르게 받아서 시간을 줄이는 것이 첫 번째 효율성을 높일 수 있는 방법 ❗️Scanner 안쓰고 효율적으로 입출력 받는 방법은? 사용하기 - 추후 정리 Scanner에서 와 차이 int 입력 받기 사용 char 입력 받기 Scanner 메소드 이용 시 사용 또는 사용 next(), nextInt(), nextLine() 공백 전까지 …
채팅 프로그램 구현 개발 시 사용할 프로토콜은 TCP 기반의 네트워크 통신 전송할 데이터가 안전하게 전달되는 신뢰성이 높고 다중 연결을 지원하기 때문 서버: 통신을 기다리고 클라이언트의 요청을 처리할 준비를 하고 있다. 클라이언트: 통신을 요청하고 서버 애플리케이션과 커뮤니케이션을 담당하는 소켓을 만들 수 있다.
네트워크 Network 특정 서비스를 제공해주는 다양한 디바이스들이 네트워크로 연결되고 있고, 서비스 이용자가 네트워크를 통해 서비스를 검색하고 이용할 수 있다. 네트워크 Network 와 네트워킹 Networking 네트워크 Network: 통신 경로들에 의해 상호 연결된 일련의 지점(Point)이나 노드(Node)들을 의미 네트워킹 Networking…
멀티쓰레드 Multithread 멀티태스킹 Multitasking 하나의 컴퓨터로 동시에 여러 가지 일을 수행하는 것 우리가 사용하는 대부분의 OS는 멀티 프로세스를 통해서 멀티태스킹을 지원 하나의 CPU를 가지고 있는 시스템에서 실행시간을 나눠 각 프로세스들이 CPU를 점유 Single Thread Test Single Thread Program은 프로…
입출력 java.io 자바는 입출력 스트림을 통해 다양한 경로로의 입출력을 구현하는 일관된 방식 제공 입출력 스트림 스트림(Stream)이란 순서가 있는 일련의 데이터를 의미한다. : 키보드, 파일, 네트워크 등 데이터 근원지 : 근원지에서 흘러 들어오는 데이터 : 모니터, 파일, 네트워크 등 데이터 목적지 특징 순차적인 데이터의 흐름으로 데이터의 무작…
컬렉션 Collection 문제 상황 배열은 자료구조 중에서 가장 기본이고 단순한 구조로, 동일한 타입 데이터들의 집합이다. 하지만 배열을 사용할 때 몇 가지 제약이 따른다. 배열은 초기 생성 시에 그 크기를 미리 지정해야 한다. 초기에 지정한 크기는 변경이 불가하여 생성한 크기보다 많은 자료를 저장할 수 없다. 데이터의 삽입, 검색, 삭제 등의 기능을 …
java.util 패키지 자바 프로그램 개발 시 유용한 기능들을 모아놓은 패키지 클래스: 이 패키지를 이용하면 반복적으로 작성해야하는 복잡한 코드를 간단하게 구현 가능 Date 클래스 형식이 있는 날짜/시간을 출력하는 클래스 JDK 업그레이드로 Deprecate된 메소드들도 많아졌다. Deprecate된 메소드는 호환성이 떨어지고, 이후 버전에서는 지원되…
인터페이스 Interface 추상 클래스보다 추상성이 더욱 심화된 개념 멤버 변수는 상수형으로 선언되어야 한다. 메소드는 모두 추상 메소드로 선언되어야 한다. 👉 인터페이스는 상수와 추상 메소드 외에 다른 멤버를 갖지 못하게 함으로써 추상클래스보다 더 완벽한 추상화를 제공한다. 인터페이스를 사용하는 이유 논리적으로 ‘is a ~’ 관계가 성립할 때 을 활…