0. 학습할 것 자바에서 예외 처리 방법 (try, catch, throw, throws, finally) 자바가 제공하는 예외 계층 구조 Exception과 Error의 차이는? RuntimeException과 RE가 아닌 것의 차이는? 커스텀한 예외 만드는 방법 1. Exception과 Error의 차이 ERROR (에러) 오류(Error)은 시스템의 비정상적인 상황이 생겼을 때 발생한다. (JVM 실행에 문제가 생김) 시스템 레벨에서 발생하기 때문에 심각한 수준의 오류이다. 개발자가 미리 예측하여 처리할 수 없기 때문에, 애플리케이션에서 오류에 대한 처리를 신경쓰지 않아도 된다. 프로세스에 영향을 준다. public class ErrorExample { public static void main(S..
전체 글
Software Developer who want to develop a customer-satisfying service0. 학습할 것 인터페이스 정의하는 방법 인터페이스 구현하는 방법 인터페이스 레퍼런스를 통해 구현체를 사용하는 방법 인터페이스 상속 인터페이스의 기본 메소드 (Default Method), 자바 8 인터페이스의 static 메소드, 자바 8 인터페이스의 private 메소드, 자바 9 1. 인터페이스 정의하는 방법 인터페이스는 내부의 모든 필드(변수)가 public static final 로 정의됨 인터페이스의 static, default메서드를 제외한 모든 메서드는 public abstract 로 정의됨 인터페이스는 다중상속을 지원한다. 인터페이스는 동일한 목적하에 동일한 기능을 수행하게끔 강제하는것이 역할이자 개념 인터페이스는 "Inteface" 키워드를 통해 선언할 수 있으며, "implements..
0. 학습할 것 package 키워드 import 키워드 클래스패스 CLASSPATH 환경변수 -classpath 옵션 접근지시자 1. package 키워드 클래스와 인터페이스의 집합을 의미한다. 이렇게 서로 관련이 있는 클래스나 인터페이스를 함께 묶음으로써 파일을 효율적으로 관리할 수 있게 된다. 자바에서 패키지는 물리적으로 하나의 디렉터리를 의미한다. 하나의 패키지에 속한 클래스, 인터페이스 파일은 모두 해당 패키지 이름의 디렉터리에 포함되어 있다. 이러한 패키지는 다른 패키지를 포함할 수 있으며, 이때 디렉터리의 계층 구조는 점(.)으로 구분된다. 상위패키지.하위패키지.클래스 패키지는 클래스를 유일하게 만들어주는 "식별자" 역할을 한다. 클래스의 전체 이름은 "패키지 + 클래스명" 이다. 모든 클래..
0. 학습할 것 자바 상속의 특징 super 키워드 메소드 오버라이딩 다이나믹 메소드 디스패치 (Dynamic Method Dispatch) 추상 클래스 final 키워드 Object 클래스 1. 자바 상속의 특징 1-1. 상속 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것 이다. 즉, 부모 클래스의 멤버(변수,메서드)를 자식 클래스에게 이관하는 것(물려주는 것) 이다. 이런 상속은 코드의 재사용성을 통해 코드의 간결성을 확보해 준다. 상속 받는 클래스 = 하위클래스 = 자식클래스 = 서브클래스(sub class) 상속 해주는 클래스 = 상위클래스 = 부모클래스 = 슈퍼클래스(super class) 1-2. 상속을 하는방법 extends 키워드를 사용하여 상속한다. class 자식클래스명 ext..
학습할 것 클래스 정의하는 방법 객체 만드는 방법 (new 키워드 이해하기) 메소드 정의하는 방법 생성자 정의하는 방법 this 키워드 이해하기 0. OOP란? 객체 지향 프로그래밍에서는 모든 데이터를 객체(object)로 취급하며, 각 개체들 간의 관계를 서술하는 방식으로 프로그래밍 하는 기법을 말한다. 자바는 객체지향 프로그래밍(OOP)이 가능한 객체 지향 언어이다. 객체(object)란 간단히 이야기하자면 실생활에서 우리가 인식할 수 있는 사물로 설명할 수 있다. 다시 말해, 객체의 상태(state)와 행동(behavior)을 구체화하는 형태의 프로그래밍이 바로 객체 지향 프로그래밍입니다. 이때 객체를 만들어 내기 위한 설계도와 같은 개념을 클래스(class)라고 합니다. 용어 간단 정리 1. 클래..
학습할 것 선택문 반복문 과제 JUnit5 학습 live-study 대시보드 만들기 LinkedList구현 Stack구현 과제3을 이용한 Stack 구현 Queue 구현 0. 제어문 Java에서 코드의 실행흐름은 위에서 아래로 한 문장씩 순차적으로 진행되었다. 때로는 조건에 따라 문장을 건너뛰거나 같은 문장을 반복해서 수행해야할 때가 있다. 이처럼 프로그램의 흐름(flow)을 바꾸는 역할을 하는 문장들을 제어문(control statement) 이라 한다. 제어문에는 조건문과 반복문이 있는데 조건문은 조건에 따라 다른 문장이 수행되도록 하고, 반복문은 특정 문장들을 반복해서 수행한다. 1. 선택문 (조건문) 조건문은 조건식과 문장을 포함하는 블럭 {} 으로 구성되어 있으며, 조건식의 연산 결과에 따라 실..
매개변수 다형성에 대해서 까먹어 정리해 보려고 한다. 본 포스팅은 JAVA의 정석 3판 - 저. 남궁 성 교재 ch7 - 5.5 매개변수의 다형성을 참고하였습니다. 참조변수의 다형적인 특징은 메서드의 매개변수에도 적용된다. 아래와 같이 클래스가 정의되어 있다고 가정하자. class Product{ int price; int bonusPoint; } class Tv extends Product{} class Computer extends Product{} class Audio extends Product{} class Buyer { int money = 1000; int bonusPoint = 0; } Product클래스는 Tv, Audio, Computer클래스의 조상이며, Buyer클래스는 제품(pro..
본문은 이곳을 참고 목차 의식적인 연습이란? TDD, 리팩토링 적용 - 개인 TDD, 리팩토링 적용 - 개인(주니어) -> 팀 TDD, 리팩토링 적용 - 내가 리더 1. 의식적인 연습이란? 한 단계 발전하기 위해 컴포트존(익숙하고 편안한 수준)에서 벗어나 의식적인 연습을 한다. 본인이 자각하는 연습을 꾸준히하며 개발실력을 올리는 것이 중요하다. 특히 개발업무와 같이 특정기간이 되면 학습없이, 연습없이 제품을 만들어 낼 수 있지만 이것을 넘어 발전하는 방법을 설명한다. 피드백을 받을 수 있는 환경(코드리뷰나 테스트 코드 등)을 만들어서 피드백에 따라 다음 단계를 연습해야 한다. 이러한 과정을 통해야만 훌륭한 개발자가 될 수 있다. 많은 연습은 역량을 보장하지 않는다. 그렇기에 온전히 집중하고 '의식적' 으..
해당 포스팅은 백기선님 java live-study를 통해 학습한 내용입니다. https://github.com/whiteship/live-study/issues/3 학습할 것 산술 연산자 비트 연산자 관계 연산자 논리 연산자 instanceof assignment(=) operator 화살표(->) 연산자 3항 연산자 연산자 우선 순위 (optional) Java 13. switch 연산자 0. 연산자 연산자: 연산에 사용되는 표시나 기호 피연산자: 연산되는 데이터 연산식: 연산자와 피연산자를 이용하여 연산의 과정을 기술한 것 // +, -, *, == 은 연산자 // x, y, z는 피연산자 x + y x - y x * y + z x == y 연산자의 종류 연산자를 크게 4가지로 산술, 비교, 논리,..
I/O System Overview I/O Mechanisms How to send data between processor and I/O device (프로세서와 장치들이 어떻게 데이터를 주고받는지에 대한 매커니즘) I/O Services of OS OS Supports for better I/O performance (OS가 입출력을 어떻게 효율적으로 할 것인가에 대한 내용) Disk Scheduling Improve throughput of a disk RAID Architecture Improve the performance and reliability of disk system I/O System (HW) I/O system: 입출력 장치 I/O: 프로세스가 필요한 정보를 요청하면 데이터를 읽어..