목록네이버클라우드 AIaaS 개발자 양성과정 1기/Java (43)
개발자입니다
29. CSV 텍스트 형식으로 출력하기 : FileReader / FileWriter ### 29. 인스턴스를 CSV 텍스트 형식으로 입출력하기: FileReader/FileWriter - 객체의 필드 값을 텍스트로 입출력하는 방법 - CSV 형식으로 한 객체의 필드 값을 한 줄 단위로 출력하는 방법 FileOutputStream 의 write( 정수 ) 에 '가' 를 입력하면 0xac00 (UTF-16) 으로 변환한다. 맨 끝 1byte를 있는 그대로 출력하므로 00 으로 출력한다. FileWriter 의 write( 문자코드) 에 '가' 를 입력하면 0xac00 (UTF-16) 으로 변환한다. 'A' 를 입력하면 0x0041 로 변환한다. 이유는 JVM 옵션인 file.encoding 에 지정된 문자..
myapp 27. Decorator 설계 기법을 이용하여 기능 확장하기 ### 27. Decorator 디자인 패턴을 이용하여 데이터를 바이트 배열로 입출력하는 기능을 캡슐화하기: DataInputStream/DataOutputStream - Primitive 타입과 String 타입의 값을 바이트 또는 바이트 배열로 가공하는 방법 - GoF의 데코레이터 설계 기법의 이해 데이터를 DataOutputStream 의 writeByte(), writeShort() 사용하여 data를 byte[ ] 로 가공한다. data(int, String, boolean, ...) 이용해서 byte[ ] 생성한다. FileOutputStream 의 write() 사용해서 byte 또는 byte[ ] 로 변환해서 바이너리 ..
com/eomcs/io/ex01~15 예제 소스 정리 파일 입출력 com/eomcs/io/ex01 폴더 정보 조회 - java.io.File 클래스 package com.eomcs.io.ex01; import java.io.File; public class Exam0110 { public static void main(String[] args) throws Exception { // File 클래스 // => 디렉토리나 파일을 다룰 때 사용하는 클래스이다. // => 디렉토리나 파일을 생성, 삭제, 변경할 수 있다. // 현재 디렉토리를 조회 // => '.' 으로 표현한다. // => JVM을 실행하는 위치가 현재 폴더이다. // => 이클립스 : 프로젝트 디렉토리를 가리킨다. // => 콘솔 : 현재..
Collection API List 관련 클래스 계층도(hierarchy) List 관련 클래스 계층도는 위와 같다. 《interface》Iterable 에 iterator(), forEach() 표준 정의하였다. 이를 상속받은 《interface》Collection 에 add(), contains(), remove(), size(), toArray() 표준 정의하였다. 이를 상속받은 《interface》List에 add(int), set(int), remove(int), get(int) 표준 정의하였다. 이를 구현한 《abstract》abstractList 를 상속받은 vector 를 상속받은 Stack 에 push(), pop(), peek() 를 구현하였다. 이를 상속받은 《interface》Que..
중첩 클래스의 종류 클래스 안에 static 클래스가 있으면 static nested class 라 한다. 클래스 안에 non-static 클래스가 있으면 non-static nested class 라 한다. 메서드 안에 클래스가 있으면 local class 라 한다. 인스턴스를 생성하고 상속받은 클래스를 바로 정의한 것을 anonymous class 라 한다. 중첩 클래스와 .class 파일 클래스 안의 static class X { } 를 컴파일 하면 A$X.class 파일이 만들어진다. 클래스 안의 class Y { } 를 컴파일 하면 A$Y.class 파일이 만들어진다. 메서드 안의 class Z { } 를 컴파일 하면 A$1Z.class 파일이 만들어진다. 익명 클래스를 컴파일 하면 A$1.cl..
예제 코드 com/eomcs/oop/ex09/c 인터페이스 다중 상속 인터페이스 다중 상속이 가능한 경우는 같은 이름의 메서드의 리턴 타입이 같을때이다. 불가능한 경우는 같은 이름의 메서드인데 리턴 타입이 다를때이다. 리턴 타입이 다른 같은 시그너처를 갖는 메서드가 여러개 존재할 수 없다. 리턴 타입이 다른 메서드가 있기 때문에 다중상속 불가! → 어떤 메서드를 상속받느냐에 따라 구현시 달라질 수 있기 때문 인터페이스 다중 상속과 메서드 중복 package com.eomcs.oop.ex09.c; public class Exam0130 { interface ProtocolA { void rule0(); void rule1(); } interface ProtocolB { void rule0(); void r..