1. InetAddress 클래스로 IP 주소 얻기 ( p. 1055 ) - Java.net.InetAddress 패키지에 들어가 있으며, IP 주소를 표현한 클래스이다. - 로컬 컴퓨터의 IP주소를 가지고 오며, 도메인 이름을 DNS에서 검색하여 IP 주소를 가지고 오는 기능을 제공한다. 2. 네트워크 복습 - Nc -L -p 8080(포트번호) / telnet IP주소 port번호로 클라이언트와 서버를 연결할 수 있다. - Ipconfig /all를 통해서 해당 컴퓨터의 IP주소를 출력할 수 있다. - DNS 주소는 nslookup을 통해 해당 사이트의 링크(www.naver.com)을 작성하면 해당 사이트의 주소를 알아볼 수 있다. - 0.0.0.0이라는 IP주소는 ANY를 의미하며, 어느 IP주소..
01. 강남 KH정보교육원 2차 시험 후기 얼마 전, 강남 KH 정보교육원에서 진행하는 2차 수강생 평가를 진행하게 되었다. 시험자체는 1차 시험문제와 같은 문제로 진행하게 되었는데, 1차 시험결과를 반영하여 답 제출하였음에도 불구하고 점수가 높지 않을 것을 보아 채점 기준을 1차 시험보다 높인 것으로 판단이 된다. 1차 시험과 비교하여, 2차 시험을 볼 당시에는 더 많은 개념을 배웠기에 우리가 각자 배운 개념을 적극적으로 활용하는 편이 고득점을 노릴 수 있는 방법이라고 생각된다. 02. 강남 KH정보교육원 국비 교육 1개월 차 후기 어느덧 벌써 국비교육을 들은 지 1개월이 넘어가게 되었다. 10일 차에 간단한 후기를 올렸으나, 그동안 많은 변화가 있었기에 이를 기록해보고자 한다. 첫번째로 진도 나가는 ..
1. 객체 입출력 보조 스트림 - 객체를 파일 또는 네트워크로 입/출력할 수 있는 기능을 제공한다. - 객체 직렬화 : 객체는 문자가 아니므로 바이트 기반 스트림으로 데이터를 변경할 필요가 있다. ( 객체를 바이트로 만드는 것을 직렬화, 바이트를 객체로 만드는 것을 역직렬화라고 한다. ) - 해당 보조 스트림 : ObjectInputStream / ObjectOutputStream - 직렬화 가능한 클래스 ( Serializable ) : - 자바에서는 Serializable 인터페이스를 구현한 클래스만 직렬화 할 수 있도록 제한 - 단, transient 필드는 제외한다. ( transient(일시적인) 필드는 직렬화에서 제외가 된다. ) - Transient 필드는 직렬화로 보내지 않았기에, 역직렬화..
1. Scanner - Console 클래스는 문자열은 읽을 수 있지만, 기본타입인 정수 타입이나 실수 타입은 바로 읽을 수 없다는 단점이 있는데, - Scanner은 콘솔로부터 기본 타입의 값을 바로 읽을 수 있다. - 형태 : Scanner scanner = new Scanner(System.in) - 제공되는 메소드 : nextLine( ); [ String값을 읽는다. ] , nextInt( ); [ 정수값을 읽는다. ] ... 2. File 클래스 - 파일 시스템의 파일을 표현하는 클래스 - 파일의 크기 / 속성 / 이름 등의 정보를 제공하고, 파일을 생성 및 삭제하는 기능을 제공한다. - 디렉토리 생성 및 디렉토리에 존재하는 파일 리스트를 얻어내는 기능을 제공한다. - 파일 객체 생성 : Fi..
1. 콘솔 ( Console ) - 시스템을 사용하기 위해서 키보드로 입력을 받고 화면으로 출력하는 소프트웨어 - Unix, Linx : 터미널 , Window : 명령 프롬프트, Power shell, 이클립스 : Console 뷰 - + 운영체제는 프로그램이 구동될 때, 아래의 3가지 자원을 무조건 할당한다! - + (1) 표준 출력 ( Standard Output ) : 콘솔에 로그 출력 기능 제공 - + - - - - - - - - > System.out - + (2) 표준 입력 ( Standard Input ) : 키보드의 입력을 받을 수 있는 기능 제공 - + - - - - - - - - > System.in - + (3) 표준 에러 ( Standard Error ) : 프로그램에서 발생한 오..
1. Reader - 문자 기반 입력 스트림의 최상위 클래스로 추상 클래스 - 하위 클래스 : FileReader, BuffredReader, InputStreamReader - 문자 기반 입력 스트림이기에 배열의 타입도 byte가 아니라 char타입이다. - 사용이 끝나면 반드시 close( )로 닫아야 한다. 2. Writer - 문자 기반 출력 스트림의 최상위 클래스로 추상 클래스이다. - 출력 스트림이기에 flush( )를 통해 버퍼에 잔류하는 문자열을 출력하고, close( )로 닫아야 한다. - 하위 클래스 : 3. 문자의 인코딩 ( Encoding ) / 디코딩 ( Decoding ) - 1 ) Encoding : 문자 => 바이트열로 변환 ( using 문자집합 ) - 2 ) Decodin..
0. Comparable과 Comparator - TreeSet의 객체와 TreeMap의 키는 저장과 동시에 자동으로 오름차순으로 정렬된다. - 숫자 타입일 경우에는 값으로, 문자열 타입일 경우에는 유니코드 기준으로 정렬된다. - TreeSet과 TreeMap은 정렬을 위해서 Comparable을 구현 객체로 요구한다. - 숫자 타입이나 문자열 타입의 경우 모두 Comparable 인터페이스가 구현되어 있다. - 그 외의 타입일 경우에는 직접 comparable을 구현해야 한다. - 만약, comparable을 구현하고 있지 않을 경우에는 저장하는 순간 예외가 발생하게 된다. 1. LIFO와 FIFO 컬렉션 - 1 ) Stack 클래스 : - 특징 : 후입선출( LIFO : Last In First Ou..
1. Map 컬렉션 - 특징 : - 1 ) 키(Key)와 값(Value)으로 구성된 Map.Entry 객체를 저장하는 구조이다. - 2 ) 키와 값은 모두 객체이며, 키는 중복될 수 없지만 값은 중복이 가능하다. - 키로 접근해서 값을 추출하기에 순서의 개념이 존재하지 않는다. - Set과 비슷하게 hashCode와 equals로 중복을 판단하게 된다. - 구현 클래스 : HashMap, Hashtable, LinkedHashMap, Properties, TreeMap 2. HashMap ( P.742 ) - Map map = new HashMap ( ) ; - K는 key 값 타입, V는 value 값 타입을 의미한다. - Set과 비슷하게 hashCode와 equals로 중복을 판단하게 된다. ..
1. Operator 함수적 인터페이스 ( p. 697 ) - 매개 값과 리턴 값이 모두 있는 추상 메소드를 가진다. - 주로 매개 값을 연산하고, 그 결과를 리턴하는 경우에 사용한다. ( y = f(x) ) - 매개 변수의 타입과 수에 따라서 분류한다. - 종류 예시 : - BinaryOperator : 2(T, U)개를 연산한 후에, R로 리턴해라. - UnaryOperator : 1개(T)를 연산한 후에, R로 리턴해라. - 이 경우 매개변수 T만이 적혀 있는데, 그 이유는 이 2개의 인터페이스는 BiFunction과 Function의 하위 인터페이스이기 때문이다. 2. Predicate 함수적 인터페이스 ( p. 699 ) - 매개 값을 조사해서 true 또는 false를 리턴할 때 사용한다. -..
1. 람다식 ( Lamda Expression ) - 자바8부터 함수적 프로그래밍을 위해 람다식 지원하기 시작했다. - 익명 함수(Anonymous function)를 생성하기 위한 식이다. - 람다식을 통해서 코드가 매우 간결해지고, 컬렉션 요소(대용량 데이터)를 필터링 또는 매핑하기 쉽게 집계해준다. - 자바는 람다식을 함수적 인터페이스의 익명 구현 객체로 취급한다. - 람다식이 구현대상이 되는 함수적 인터페이스를 해당 람다식의 Target Type이라 부른다. - 모든 인터페이스가 람다식의 구현 대상이 될 수는 없다. - 람다식의 조건 : 구격(추상메소드)이 오로지 단 1 개만 있는 인터페이스 - 람다식의 조건에서는 추상메소드의 개수만 확인하기 때문에 상수나 디폴트 메소드의 개수는 2개 이상이어도 ..