개발 도서/처음 해보는 자바 프로그래밍

개발 도서/처음 해보는 자바 프로그래밍

Java Networking 18장

Socket java.net.Socket 클래스는 TCP 통신을 할때 사용하는 객체이다. 예를 들어 웹서버에 접속할 때 웹브라우저를 실행한 후 URL을 입력하면 웹서버에 서비스를 요청하고 응답을 받을 수 있다. 소켓 생성 Socket(String host, int port) host : 접속하는 서버의 IP 또는 도메인 이름을 지정한다. port : d접속하는 서버의 포트를 지정한다. 스트림 생성 TCP 통신을 하는 Socket 객체는 외부와 데이터를 주고받아야 한다. 그래서 소켓 생성 후에는 데이터 입출력을 위한 스트림을 생성해야한다. public InputStream getInpuStream() public OutputStream getOutpuStream() public class Test{ pub..

개발 도서/처음 해보는 자바 프로그래밍

Java Thread 16장

스레드란 ? 프로세스 기반의 멀티태스킹은 여러 프로그램이 병핼 실행되는 것, 스레드 기반의 멀티태스킹은 하나의 프로그램에서 여러개의 작업을 병행하는 것 예를 들어 워드프로세서에서 문서를 편집하면서 동시에 프린트 작업을 하는 것은 문서편집과 문서출력 두 개의 스레드가 병행되는 것이다. 스레드 목적 보통은 메인 스레드 하나를 사용했고 메인 스레드는 자바 프로그램 시작 시 자동으로 생성되며 main() 메서드의 명령문 실행이 완료되면 메인 스레드는 종료되고 자바 프로그램도 종료된다. 멀티스레드로 구현해야 하는 상황 여러 사용자가 동시에 요청하는 상황 외부 데이터 처리 메인스레드만 실행되는 싱글 스레도 환경과 함께 실행되던 모든 스레드가 종료되어야 프로그램이 종료된다. 구현 및 실행 run() 메인 스레드가 아..

개발 도서/처음 해보는 자바 프로그래밍

Java Stream API 15장

스트림 사용 3단계 스트림 생성 배열이나 컬렉션의 요소들을 처리하려면 가장 먼저 요소들을 갖는 스트림을 생성해야 한다. 중개 연산 중개 연산은 스트림을 받아서 스트림을 반환한다 데이터를 추출, 변환, 조합하는 작업 등을 수행 할 수 있고 여러개의 중개연산은 지정할 수 있다. 최종 연산 결과를 산출하기 위한 최종 연산을 수행한다. 이떄 중개 연산에서 미뤘던 지연연산을 수행한다. 최종연산 이후로 스트림은 자동소멸하여 더는 사용할 수 없다. 스트림 특징 명령행 프로그래밍 방식 int[] num = {1,2,3,4,5}; int sum= 0; for(int i=0;in%2==1).sum(); 파이프 필터 패턴 입력 : Arrays.stream(num) 필터링 : filter(람다식) 출력 : sum() 이처럼 ..

개발 도서/처음 해보는 자바 프로그래밍

Java 람다식 14장(익명클래스, 람다식)

람다식 JDK8에서 추가된 기능으로 개발자가 핵심 내용만 구현하고 나머지는 자바 언어에서 자동으로 처리하는 방식인 함수형 스타일이어서 코드가 간결해진다. 인터페이스를 익명클래스보다 간편하게 구현하려고 사용하기 때문에 먼저 인터페이스 구현 방법부터 살펴본다. 인터페이스 구현 방법 interface MyInterface{ public void print(); } implements 키워드로 클래스 선언 class MyClass1 implements MyInterface{ @Override public void print(){ System.out.println("MyClass1"); } } 익명 클래스 사용 MyInterface mi = new MyInterface(){ @Override public void..

개발 도서/처음 해보는 자바 프로그래밍

Java Generic Class 13장

제너릭 클래스 클래스 선언부에서 클래스 이름 다음에 기호를 표시한다. 그리고 안에는 타입 매개변수의 이름을 저근다. 제네릭 클래스의 인스턴스를 생설할 때 타입 매개변수는 인자로 전달받은 타입으로 대채된다. 제너릭 클래스 선언 public class Bag{ T thing; public Bag(T thing){ this.thing = thing; } } 제너릭 클래스 생성 new Bag(new Book()); new Bag(new Book()); 제너릭 클래스를 사용하면 인스턴스 생성 시 타입을 지정할 수 있으므로 동적으로 코드를 재사용 할수 있는 장점이 있다. 제너릭 클래스 참조 제너릭 클래스의 인스턴스를 생성한 후 참조하는 변수가 있어야 계속 사용할 수 있다. 제너릭 인스턴스의 참조변수 타입을 선언하는..

개발 도서/처음 해보는 자바 프로그래밍

JAVA I/O stream 12장

입출력 원리 외붕 데이터는 프로그램 외부에 존재하는 모든 데이터를 의미. 하드디스크 상에 있는 파일, 네트워크 상에 존재하는 자원, 메로리에 있는 자원이 될 수도 있음. 외부 데이터 타입이 무엇이든 자바는 외부 데이터를 읽거나 쓰기 작업을 할 때 동일하게 처리. 입출력 API java.io 패키지에 있으며 객체이름에서 InputStream, Reader, OutputStream, Writer 단어를 빼고 남은 단어가 외부 데이터 타입 InputStream, OutputStream 계열은 1바이트 단위로 Reader 와 Writer 계열은 2바이트 단위로 작업 모든 스트림은 단방향이므로 읽거나 출력하는 기능 중 하나만 처리 할 수 있음 기본 입출력 작업 파일 입출력 try{ FileInputStream f..

개발 도서/처음 해보는 자바 프로그래밍

JAVA 예외 처리 11장

자바 예외 API 오류 처리를 개체로 처리하며 관련 API를 JaVA SE에서 제공, 기본적인 오류 처리 객체들은 java.lang 패키지의 Exception과 Error로 구분됨 예외처리 객체 구조 java.lang의 Throwable이 최상위 클래스 Exception은 프로그램 내에서 발생하는 예외로서 프로그램 내에서 처리가능 Error는 JVM 내에서 발생하는 에러로서 프로그램 내에서 처리 불가능 예외 발생 원리 int arr[] = new int[3]; arr[3] = 30; System.out.println("OK"); 0~2 index까지 저장할 수 있는 배열에 인덱스 3번지를 찾아가지만 존재하지 않음 => ArrayIndexOutOfBoundsException() 예외 처리 방법 try{ /..

개발 도서/처음 해보는 자바 프로그래밍

8장 다형성과 내부 클래스

다형성의 원리 상속하지 않은 클래스는 Object 클래스를 자동상속 java.base > java.lang > Object toString() : 패키지+클래스@인스턴스id 반환 equals() : 현재 객체와 인자로 전달된 객체가 같은지 판단(인스턴스 주소 비교) 다형성의 필요성 메서드 : 하나의 메서드 선언으로 다양한 타입의 인자를 받아 처리하기 위해 배열 : 여러 참조변수들을 하나로 묶어서 사용할때 다형성의 활용 instanceof 연산 : 참조변수 instanceof 객체타입 타입변경 매개변수 타입을 부모타입으로 선언 instaceof로 타입검사 타입변경 후 차별작업 내부 클래스 특정 클래스에서만 사용할때 사용 종류 인스턴스 멤버 클래스 자신이 속한 외부 클래스의 인스턴스 접근가능, 정적 필드 메..

비오베베
'개발 도서/처음 해보는 자바 프로그래밍' 카테고리의 글 목록