컴퓨터 & 코딩/Java 25

[혼공학습단 10기][혼공자] 6주차 미션

✏️ 진도: Chapter 14 (입출력 스트림) - 입출력 스트림 📖 기본 미션: 입출력 스트림 요약 정리하여 포스팅하기 [혼공학습단 10기][혼공자] 입출력 스트림 ✓ 입출력 스트림 - 자바에서 데이터는 스트림을 통해 입출력된다. - 프로그램이 도착지면 흘러온 데이터를 입력받아야 하기 때문에 입력 스트림을 사용 - 프로그램이 출발지면 데이터를 출력해 hianzhi.tistory.com 📚 선택 미션: p. 632 문제 2번 풀고, 풀이 과정 설명하기 ❓ FileReader와 BufferedReader를 이용해서 source.txt 내용을 읽고, 각 라인 번호를 추가해 모니터로 출력하는 프로그램을 작성해보세요. package sec02.verify.exam02; import java.io.Buffere..

[혼공학습단 10기][혼공자] 5주차 미션

✏️ 진도: Chapter 13 (컬렉션 프레임워크) 1. 컬렉션 프레임워크 📖 기본 미션: 직접 정리한 키워드 공유하기 컬렉션 프레임워크: 자료 구조를 사용하여 객체들을 효율적으로 추가, 삭제, 검색할 수 있도록 하는 인터페이스와 구현 클래스를 제공하는 라이브러리 (java.util 패키지) 컬렉션: 객체의 저장과 관리 프레임워크: 사용 방법을 정해놓은 라이브러리 List 컬렉션: 객체를 인덱스로 관리하는 컬렉션 저장 용량이 자동으로 증가하고, 자동 인덱스가 부여됨 객체 자체가 아닌 객체의 번지를 참조함 동일한 객체를 중복 저장 가능하고, null도 저장 가능함 List 구현 클래스: ArrayList: 내부 배열에 객체를 저장하는 구조, 특정 인덱스의 객체를 추가/삭제할 때 성능이 좋음 Vector:..

[혼공학습단 10기][혼공자] 입출력 스트림

✓ 입출력 스트림 - 자바에서 데이터는 스트림을 통해 입출력된다. - 프로그램이 도착지면 흘러온 데이터를 입력받아야 하기 때문에 입력 스트림을 사용 - 프로그램이 출발지면 데이터를 출력해야 하므로 출력 스트림을 사용 java.io 패키지에서 제공하는 입출력 스트림의 종류 1️⃣ 바이트 기반 스트림: 그림, 멀티미디어 등의 바이너리 데이터를 읽고 출력할 때 사용 (InputStream, OutputStream) 2️⃣ 문자 기반 스트림: 문자 데이터를 읽고 출력할 때 사용 (Reader, Writer) ✏️ OutputStream 바이트 출력 스트림 FileOutputStream, PrintStream, BufferedOutputStream, DataOutputStream - write(int b): 1b..

[혼공학습단 10기][혼공자] 컬렉션 프레임워크

✏️ 컬렉션 프레임워크 자료 구조를 사용해서 객체들을 효율적으로 추가, 삭제, 검색할 수 있도록하는 인터페이스와 구현클래스 (java.util 패키지) - 컬렉션: 객체의 저장 - 프레임워크: 사용 방법을 정해놓은 라이브러리 1️⃣ List 컬렉션 객체를 인덱스로 관리. 💡 배열과의 차이점 - 저장 용량이 자동으로 증가한다 - 객체를 저장할 때 자동 인덱스가 부여된다 - 추가, 삭제, 검색등을 위한 다양한 메소드들이 제공됨. - 객체 자체를 저장하는 게 아니라 객체의 번지를 참조한다. - 동일한 객체의 중복 저장이 가능하며 (동일한 번지 참조) null도 저장 가능하다. - 구현 클래스: ArrayList, Vector, LinkedList ✏️ 메소드 List list = ...; list.add("r..

[혼공학습단 10기][혼공자] 스레드 제어

❗️start() 메소드를 호출 하면 바로 실행되는 게 아니라 실행 대기 상태가 됨 운영체제는 실행 대기 상태에 있는 스레드 중 하나를 선택하여 실행 상태로 만듦 스레드 상태 - 실행 대기 상태 ↔︎ 실행 상태 - 실행 상태 → 일시 정지 상태 - 일시 정지 상태 → 실행 대기 상태 ✏️ 스레드 상태 영어 표기 실행 대기 상태: Runnable 실행상태: Running 실행이 멈춘 상태: Terminated 스레드 상태 제어 실행중인 스레드의 상태를 변경한다. 이때 상태 변화를 가져오는 메소드를 파악해야 한다. interrupt() : 일시 정지 상태의 스레드에서 InterruptedException을 발생시켜 예외 처리 코드(catch)에서 실행 대기 상태로 가거나 종료 상태로 갈 수 있도록 한다 sl..

[혼공학습단 10기][혼공자] 4주차 미션

✏️ 진도: Chapter 12 (스레드) 1. 멀티스레드 2. 스레드 제어 📖 기본 미션: p. 550 [직접 해보는 손코딩] 코딩 과정 및 실행 결과 캡처하기 ❗️교재에 나와 있는 [직접 해보는 손코딩]대로 써보면 다음과 같이 '작업 내용을 저장함.'이 두 번만 출력된다. 0초 1초 - "작업 내용을 저장함." 출력 2초 - "작업 내용을 저장함." 출력 3초 - "메인 스레드 종료" 출력 ❗️그러나 save()메소드의 실행위치를 바꾸면 교재의 실행결과 처럼 '작업 내용을 저장함'이 세 번 출력된다. 0초 - "작업 내용을 저장함." 출력 1초 - "작업 내용을 저장함." 출력 2초 - "작업 내용을 저장함." 출력 3초 - "메인 스레드 종료" 출력 📚 선택 미션: p. 539 문제 2번 풀고, 풀..

[혼공학습단 10기][혼공자] 멀티 스레드

⬇️ 프로세스와 스레드에 대해 알아보기 ⬇️ [혼공학습단 10기][혼공컴운] 프로세스와 스레드 ✓ 프로세스 개요 ✏️ 프로세스: 보조기억장치에 저장되어있는 프로그램을 메모리에 적재하고 실행하는 과정 포그라운드 프로세스: 사용자가 보는 앞에서 실행되는 프로세스 백그라운드 프로 hianzhi.tistory.com ✏️ 멀티 프로세스: 각 프로세스는 서로 독립적. 하나의 프로세스에서 오류가 발생해도 다른 프로세스에 영향을 미치지 않는다 ✏️ 멀티 스레드: 하나의 프로세스 내부에 생성. 하나의 스레드가 예외를 발생시키면 프로세스 자체가 종료될 수 있어 예외 처리가 중요하다. 자바의 모든 어플리케이션은 메인 스레드가 main()메소드를 실행하면서 시작한다. 이때 메인 스레드는 멀티 스레드를 생성해서 멀티 태스킹을..

[혼공학습단 10기][혼공자] 기본 API 클래스

Java API Document Java Platform, Standard Edition Documentation - Releases Java Platform, Standard Edition documentation, current and previous releases docs.oracle.com ✓ java.lang 패키지 1) Object 클래스: 최상위 부모 클래스 - equals(): 객체 비교 true, false - hashCode(): 객체 해시 코드(객체를 식별하는 하나의 정수값) ✏️ 컬렉션 프레임워크: HashSet, HashMap, Hashtable이 두 객체가 동등한지 비교하는 방법 hashCode() 메소드 실행하여 리턴된 해시코드 값이 같은지 본 다음 해시 코드값이 같다면 eq..

[혼공학습단 10기][혼공자] 상속 / 타입 변환과 다형성 / 추상 클래스

✓ 상속 class 자식클래스 extends 부모클래스 { ... } - 여러 개의 부모 클래스를 상속할 수 없다. - 부모 클래스 중 private 접근 제한을 갖는 필드와 메소드는 상속 대상에서 제외된다. - 서로 다른 패키지에서 존재한다면 default 접근 제한을 갖는 필드와 메소드도 상속 대상에서 제외된다. super() 자식 생성자를 직접 선언하고 명시적으로 부모 생성자를 호출하는 방법 super.method2() 이런식으로도 사용 가능하다 자식클래스 ( 매개변수선언, ... ) { super(매개값, ... ); ... } 예시: // 부모 클래스 public class People { public String name; public String ssn; public People(String..

[혼공학습단 10기][혼공자] 3주차 미션

✏️ 진도: Chapter 10 ~ 11 (예외 처리 / 기본 API 클래스) 1. 예외 처리 2. 기본 API 클래스 📖 기본 미션: 혼공 용어 노트에 용어 추가 등 노트 활용하고 공유하기 우리나라에서도 몇 용어들은 한국어로 번역해서 말하듯이 독일에서도 독일어로 번역해서 배우기 때문에 학교를 다니면서 각종 프로그래밍 용어들을 독일어로도 알아야 겠다는 생각이 들었다. 그래서 혼공 용어 노트는 주로 독일어 용어들을 정리하는 데 중점을 두었다. 📚 선택 미션: p. 512 문제 8번 풀고 풀이 과정 설명하기 ❓문제: 100을 박싱한 Integer 객체는 true가 나오는데 300을 박싱한 Integer 객체는 false가 나오는 이유를 설명해보세요 public class IntegerCompareExampl..

320x100