혼공학습단 59

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

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

[혼공학습단 10기][혼공자] 예외 처리

✓ 예외 클래스 💡 자바는 예외를 클래스로 관리한다. 예외가 발생하면 해당 예외 클래스로 객체를 생성한다. 예외의 두 종류 - 일반 예외: 컴파일러 체크 예외. 컴파일하는 과정에서 예외 처리 코드가 있는지 검사. (RuntimeException의 하위 클래스가 아님) - 실행 예외: 컴파일러 넌 체크 예외. 실행 시 예측할 수 없이 갑자기 발생. 컴파일 과정에서 예외 처리 코드가 있는지 검사하지 않는다.(RuntimeException 의 하위 클래스) 1) NullPointerException: 객체 참조가 없는 상태. null값을 갖는 참조 변수로 객체 접근 연산자(도트.) 를 사용했을 때 발생 2) ArrayIndexOutOfBoundsException: 배열에서 인덱스 범위를 초과했을 경우. 3) ..

[혼공학습단 10기][혼공컴운] 운영체제의 큰 그림

✏️ (시스템) 자원: 프로그램 실행에 마땅히 필요한 요소들 운영체제: 실행할 프로그램에 필요한 자원을 할당하고 프로그램이 올바르게 실행되도록 돕는 특별한 프로그램 ✏️ 커널 영역 kernel space: 컴퓨터가 부팅될 때 운영체제가 적재되어 실행되는 영역 사용자 영역 user space: 응용 프로그램이 적재되는 영역 (커널 영역을 제외한 나머지) ✅ 운영체제의 역할 - 메모리 자원 관리: 실행할 프로그램을 메모리에 적재, 실행되지 않는 프로그램을 메모리에서 삭제 - 최대한 공정하게 여러 프로그램에 CPU 자원을 할당 - 응용프로그램과 하드웨어 사이에서 응용 프로그램에 필요한 자원 할당 - 응용 프로그램이 올바르게 실행되도록 관리 1️⃣ 커널 - 운영체제의 심장 - 운영체제의 핵심 서비스 담당 - 종..

[혼공학습단 10기][혼공자] 중첩 클래스 / 중첩 인터페이스 / 익명 객체

✓ 중첩 클래스 - 클래스 내부에 선언한 클래스. - 바이트코드 파일명: 멤버 클래스 - 바깥클래스$멤버클래스.class, 로컬 클래스 - 바깥클래스$1로컬클래스.class 1. 멤버 클래스 - 클래스의 멤버로서 선언. - 클래스나 객체가 사용 중이라면 언제든지 재사용이 가능하다 1) 인스턴스 멤버 클래스: static 키워드 없이 중첩 선언된 클래스. 인스턴스 필드, 메소드만 선언 가능하고 정적 필드와 메소드는 선언 할 수 없다. 바깥 클래스 객체를 생성해야만 사용할 수 있다. class A { class B { // 인스턴스 멤버 클래스 B() {} // 생성자 int fiels1; // 인스턴스 필드 void method1() {} // 인스턴스 메소드 } } // 사용시 A a = new A();..

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

✏️ 진도: Chapter 06 ~ 08 (메모리 / 보조기억장치 / 입출력장치 ) 1. 메모리와 캐시 메모리 2. 보조기억장치 / RAID 3. 입출력장치 📖 기본 미션: p. 185의 확인 문제 3번, p. 205의 확인 문제 1번 풀고 인증하기 📚 선택 미션: Ch.07(07-1) RAID의 정의와 종류를 간단히 정리해 보기 Redundant Array of Independent Disks 데이터의 안정성 혹은 높은 성능을 위해 여러 개의 물리적 보조기억장치를 마치 하나의 논리적 보조기억장치처럼 사용하는 기술 [혼공학습단 10기][혼공컴운] 보조기억장치 / RAID ✓ 하드디스크 [Fachinformatiker] HDD - Festplatte HDD (Hard Disk Drive, Festplatt..

[혼공학습단 10기][혼공컴운] 입출력장치

✓ 장치 컨트롤러와 장치 드라이버 ✅ 장치컨트롤러 (입출력 제어기 I/O controller, 입출력 모듈 I/O module) - CPU와 입출력장치 간의 통신 중개 - 오류 검출 - 데이터 버퍼링 ✏️ 버퍼링: 버퍼에 데이터를 조금씩 모았다가 한꺼번에 내보내거나, 데이터를 한 번에 많이 받아 조금씩 내보내는 방법 💡 장치 컨트롤러를 사용하는 이유 - 입출력장치의 종류가 너무 많고 장치마다 속도, 데이터, 전송 형식이 다양하다 - 입출력 장치의 데이터 전송률이 낮아 전송률이 높은 CPU와 통신이 어렵다 - 데이터 버퍼링을 통해 전송률이 높은 CPU와 전송률이 낮은 입출력장치와의 전송률 차이를 완화시킨다 - 구조: 데이터 레지스터: CPU와 입출력장치 사이에 주고 받을 데이터가 담기는 레지스터. (최근에..

[혼공학습단 10기][혼공자] 인터페이스

✓ 인터페이스 - 객체의 사용 방법을 정의한 타입 - 코드 변경 없이 실행 내용과 리턴값을 다양화할 수 있다 - 객체를 생성할 수 없기 때문에 생성자가 없다 [public] interface 인터페이스이름 { // 상수 //타입 상수이름 = 값; public int MAX_VOLUME = 10; // 추상 메소드 // 타입 메소드이름(매개변수, ...); public void setVolume(int volume); } 💡 추상 클래스와 추상 메소드 추상 클래스: 실체 클래스들의 공통적인 특성을 추출해서 선언한 클래스 추상 메소드 - abstract 키워드 + 메소드의 선언부만 있고 메소드 실행 내용인 중괄호가 없는 메소드. - 하위 클래스가 반드시 실행 내용을 채우도록 강제됨. - 자식 클래스가 반드시..

[혼공학습단 10기][혼공컴운] 보조기억장치 / RAID

✓ 하드디스크 [Fachinformatiker] HDD - Festplatte HDD (Hard Disk Drive, Festplatte) - ein magnetisches Speichermedium. 기계식, 비휘발성(전원이 써지더라도 저장된 데이터는 유지됨) - Daten werden auf die Oberfläche rotierender Scheiben (Platter) geschrieben. 플래터를 회전시 hianzhi.tistory.com ✓ 플래시 메모리 - 종류: USB메모리, SD카드, SSD 등 / 대부분 NAND - SSD [Fachinformatiker] SSD - Solid State Drive SSD (Solid State Drive, Solid State Disk) 0. 특징 ..

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

✏️ 진도: Chapter 06 ~ 09 (클래스 / 상속 / 인터페이스 / 중첩 클래스와 중첩 인터페이스) 1. 객체 지향 프로그래밍 2. 상속 3. 인스턴스 멤버와 정적 멤버 4. 인터페이스 5. 중첩 클래스와 중첩 인터페이스 📖 기본 미션: p. 330 문제 5번 실행 결과 인증 화면 캡처하기 상속 관계에 따라 부모 클래스의 생성자가 먼저 호출된다 📚 선택 미션: 객체 지향 프로그래밍의 개념을 정리하기 [혼공학습단 10기][혼공자] 객체 지향 프로그래밍 ✏️ 객체 = 필드 (속성) + 메소드 (동작) 메소드는 객체들 사이의 상호작용 수단이다. 클래스는 객체를 생성하기 위한 필드와 메소드가 정의되어 있는 객체의 설계도이다. 클래스로부터 만들어 hianzhi.tistory.com

[혼공학습단 10기][혼공자] 인스턴스 멤버와 정적 멤버

✏️ 클래스 멤버: 필드, 메소드 인스턴스 멤버 : 객체마다 가지고 있는 멤버 정적 멤버 : 클래스에 위치시키고 객체들이 공유하는 멤버 ✓ 인스턴스 멤버 객체(인스턴스)를 생성한 후 사용할 수 있는 필드와 메소드. 인스턴스 필드, 인스턴스 메소드라고 부른다. 인스턴스 필드는 객체마다 따로 존재하고 인스턴스 메소드는 메소드 영역에 저장되고 공유된다. 사용할 때는, 우선 객체(인스턴스)를 생성한 후 참조 변수로 접근한다. public class Car { // 필드 String model = "현대"; int speed = 40; // 생성자 Car(String model){ this.model = model; } // 메소드 void setSpeed(int speed) { this.speed = speed..

320x100