본문 바로가기

혼공자

[혼공자] 6주차 - 입출력 스트림 요약 정리 입출력 스트림 자바에서 데이터는 스트림(stream)을 통해 입출력된다. 입출력 스트림 종류 바이트(byte)기반 스트림: 그림, 멀티미디어 등의 바이너를 데이터를 읽고 출력 - InputStream(입력), OutputStream(출력) 문자(character)기반 스트림: 문자 데이터를 읽고 출력 - Reader(입력), Writer(출력) 바이트 출력 스트림: OutputStream 바이트 기반 출력 스트림의 최상의 클래스로 추상클래스이다. FileOutputStream, BufferedOutputStream, PrintStream, DataOutputStream 클래스는 OutputStream 클래스를 상속받는다. 메서드에는 write, flush, close 등이 있다. 바이트 입력 스트림: I.. 더보기
[혼공자] 5주차 - (선택) 직접 해보는 손코딩 - HashMap 늦었지만 5주차 선택 미션 직접해보는 손코딩, 이름을 키로 점수로 값으로 저장하기이다. Map 컬렉션 중 HashMap 사용 방법에 대해서 직접 코딩을 해보는 미션이다. 실행코드 (HashMapExample.java) package chapt13sec01.exam06; import java.util.*; public class HashMapExample { public static void main(String[] args) { Map map = new HashMap(); map.put("신용권", 85); map.put("홍길동", 90); map.put("동장군", 80); map.put("홍길동", 95);// "홍길동" 키가 같기 때문에 마지막에 입력한 값으로 대체 System.out.printl.. 더보기
[혼공자] 5주차 - 13장 컬렉션 프레임워크 키워드 정리 이번주는 13장 컬레션 프레임워크 학습 내용 중 키워드를 정리해서 공유하는 미션이다. 컬렉션 프레임워크(Collection Framework) 객체들을 효율적으로 추가, 삭제, 검색을 용이하게 구현할 수 있도록 만든 인터페이스와 구현클래스들의 집합 컬렉션(Collection) 객체의 저장 프레임워크(Framework) 사용방법을 정의해 놓은 라이브러리 List 컬렉션 배열과 비슷하게 객체를 인덱스로 관리 배열과 차이점음 저장용량이 자동으로 증가, 객체를 저장할 때 자동 인덱스가 부여 됨 추가(add), 삭제(remove), 검색(get)을 위한 다양한 메소드 제공 ArrayList, Vector, LinkedList 등이 있다. List list = ...; ArrayList List 컬렉션의 대표적인 .. 더보기
[혼공자] 4주차 - (선택) 멀티스레드 손 코딩 4주차 선택 미션은 539페이지 2번 문제 풀이이다. 동영상과 음악을 재생하기 위해 두가지 스레드를 실행하는 미션이다. 동영상 재생 클래스는 Thread를 상속받아서 구현하고, 음악 재생 클래스는 Runnable 구현 클래스로 작성한다. 실행 코드(ThreadExample.java): public class ThreadExample { public static void main (String[] args) { Thread thread1 = new MovieThread(); thread1.start(); Thread thread2 = new thread(new MusicRunnable()); thread2.start(); } } MovieThread.java public class MovieThread e.. 더보기
[혼공자] 4주차 - Daemon Thread 손 코딩 및 실행 결과 이번 주 미션 550쪽 [직접 해보는 손 코딩] 코딩 과정 및 실행 결과를 인증샷으로 남긴다. 과제 내용은 12-2. 스레드 제어 중 데몬 스레드에 대한 예제이다. 여기서 데몬(daemon) 스레드란 주 스레드의 작업을 돕는 보조적인 역활을 수행하는 스레드로 주 스레드가 종료되면 데몬 스레드는 강제적으로 자동 종료된다. 예제를 소개하면, 1초 주기로 데몬 스레드에서 save() 메서드를 자동 호출 하고, 메인 스레드가 3초 후 종료되면 데몬 스레드도 같이 종료되는 것을 확인할 수 있다. 1초 주기로 save() 메서드를 호출하는 데몬 스레드 public class AutoSaveThread extends Thread { public void save () { System.out.println("작업 내용.. 더보기
[혼공자] 3주차 - 혼공 용어 노트 활용 3주차 미션은 10장 예외처리와 11장 기본API 클래스에 대해 공부한고, 별책으로 제공하는 있는 혼공 용어노트를 활용하고 이를 인증 샷으로 남기는 것이다. 우선 혼공 용어노트는 별책으로 제공되고, 한빛미디어에서 운영하는 혼공 학습단 사이트에서도 다운받을 수 있다. http://hongong.hanbit.co.kr/%ec%9e%90%eb%b0%94/ 10장 예외 처리에서 나온 용어 예외(Exception) - 사용자의 잘못된 조작 또는 개발자의 잘못된 코딩으로 인해 발생하는 프로그램 오류 예외 처리 (Excpetion Handling) - 예외가 발생했을 때 이를 처리하는 과정 일반 예외(Exception) : 컴파일러 체크 예외, 예외 처리코드가 없다면 컴파일러 오류가 발생 실행 예외(Runtime E.. 더보기
[혼공자] 2주차 - 상속(기본미션) 이번주 혼공단 3기 기본미션 과제는 상속된 클래스를 실행시 부모클래스와 자식클래스의 생성자 호출 순서를 확인하는 과제이다. 예제코드와 결과 화면을 먼저 보자. 부모 클래스 소스: package sec01.verify.exam05; public class Parent { public String nation; public Parent() { this("대한민국"); System.out.println("Parent() call"); } public Parent(String nation) { this.nation = nation; System.out.println("Parent(String nation) call"); } } 자식 클래스 소스: package sec01.verify.exam05; public .. 더보기
[혼공자] 1주차 - 환경 변수 설정 자바개발도구(이하 JDK)를 설치하였다면 JAVA_HOME을 환경변수로 등록하고 Path를 설정한다. 환경변수에 JAVA_HOME과 Path를 등록해 두면 JDK 경로의 실행파일을 현재 위치(경로)에 관계없이 실행할 수 있다. JDK 설치 방법은 이전글을 참고하자. 2020/02/05 - [JAVA/#혼공단3기] - [혼공단] 1주차 - JDK 설치 JAVA_HOME 환경 변수 등록 윈도우 운영체제의 환경변수 설정은 [시스템 속성] 대화상자에서 찾을 수 있다. [시스템 속성] 대화상자를 실행하는 방법은 크게 두가지가 있다. 먼저 시작 > 제어판 > 시스템 및 보안 > 시스템 > 고급 시스템 설정으로 들어간다. 다른 방법은 파일 탐색기 내 [내 PC]에서 마우스 오른쪽 버튼을 클릭후 [속성]을 클릭하여 시.. 더보기