출처 (백기선의 자바 스터디 : https://www.notion.so/3565a9689f714638af34125cbb8abbe8) 자바에서 예외 처리 방법 (try, catch, throw, throws, finally) 자바가 제공하는 예외 계층 구조 Exception과 Error의 차이는? RuntimeException과 RE가 아닌 것의 차이는? 커스텀한 예외 만드는 방법 ## 자바가 제공하는 예외 계층 구조, Exception과 Error의 차이 예외란? : 자바에서 예외는 에러(Error)와 예외(Exception) 두 가지 개념을 말한다. 오류(Error) 는 시스템 실행 중 생기는 오류를 말한다. 해당 오류는 개발자가 미리 예측을 하여 처리할 수 있는 오류가 아니다. 따라서 해당 오류를 처..
인터페이스 정의하는 방법 인터페이스 구현하는 방법 인터페이스 레퍼런스를 통해 구현체를 사용하는 방법 인터페이스 상속 인터페이스의 기본 메소드 (Default Method), 자바 8 인터페이스의 static 메소드, 자바 8 인터페이스의 private 메소드, 자바 9 인터페이스(interface) : 인터페이스는 어떤 메소드를 제공하는지 미리 알려주어 해당 기능을 명시적으로 알려주는 역할을 한다. (public, default) interface 인터페이스명 { (public)(abstract) 메소드(); (public)(static)(final) 타입 상수명 : value; } 인터페이스 구현 (간단하게 뒤에 더욱 자세하게 설명) - 인터페이스를 구현하기 위해서는 class에 implements 키..
배열 - 배열이란 - 다차원 배열 - ArrayList 클래스 사용 - 배열 응용 기본클래스 - Object 클래스 - String 클래스 - Wrapper 클래스 - Class 클래스 #배열이란 : 자료를 순차적으로 관리하는 구조 - 배열 선언 , 초기화 : 자바에서는 어떠한 객체를 사용하기 위해서는 선언과 초기화를 해야한다. 자료형[] 배열이름 = new 자료형[크기]; 자료형 배열이름[] = new 자료형[크기]; String[] arr = new String[크기]; int arr1[] = new int[크기]; - 배열 초기화 : 배열은 선언과 동시에 각 요소의 값이 초기화 된다 => 정수(0), 실수(0.0), 객체 배열(null) 배열 선언과 동시에 특정 값으로 초기화하기 int[] arr ..
학습할 것 (필수) 자바 상속의 특징 super 키워드 메소드 오버라이딩 다이나믹 메소드 디스패치 (Dynamic Method Dispatch) 추상 클래스 final 키워드 Object 클래스 상속이란 - 부모 클래스에 있는 멤버변수 메소드를 자식 클래스가 물려받아 속성이나 기능을 확장하여 클래스를 구현 - 부모 클래스의 기능들을 보다 더 구체적으로 구현하기 위해서 사용. 상속하는 클래스 : 부모클래스, parent class, base class, super class 상속받는 클래스 : 자식클래스, child class, derived class, sub class 상속문법 A : super class, B : sub class B class extends A { } 상속의 특징 - 상속할 수 있는..
학습할 것 (필수) 클래스 정의하는 방법 객체 만드는 방법 (new 키워드 이해하기) 메소드 정의하는 방법 생성자 정의하는 방법 this 키워드 이해하기 과제 (Optional) int 값을 가지고 있는 이진 트리를 나타내는 Node 라는 클래스를 정의하세요. int value, Node left, right를 가지고 있어야 합니다. BinrayTree라는 클래스를 정의하고 주어진 노드를 기준으로 출력하는 bfs(Node node)와 dfs(Node node) 메소드를 구현하세요. DFS는 왼쪽, 루트, 오른쪽 순으로 순회하세요. 클래스 클래스란 객체를 정의하기 위한 하나의 틀이다. 클래스의 구성 - 필드 : 변수라고 칭한다. 필드는 객체의 속성을 보여준다. 필드는 (클래스 변수, 인스턴스 변수) 2가지..
자료구조 선택시 중요사항 - 자료의 처리 시간 - 자료의 크기 - 자료의 활용 빈도 - 자료의 갱신 정도 - 프로그램의 용이성 수치자료의 표현 ## 존형 : 각 숫자를 문자로 취급하여 기억시키되 한 바이트 내에 10진수 한 자리를 표현. Zone 부분에는 16진수 F 삽입, Digit 부분에는 수 값 표현 마지막 Zone 부분에는 부호를 표시 (1100(+), 1101(-)) +213 1111 0010 1111 0001 1100(부호) 0011 F 2 F 1 + 3 ## 팩형 : 10진 연산을 위한 저장방식, 각 바이트에 10진수 2자리를 표현, 가장 오른쪽 바이트는 수치의 마지막 한자리와 부호화 같이 기억 -> 존형의 단점을 보완하기 위해 등장 존형의 단점 : 처리속도가 늦음, 기억공간의 낭비 -213..
내부 클래스, 람다식, 스트림 내부 클래스 람다식 스트림 내부 클래스 : 내부 클래스는 클래스 내부에 선언한 클래스를 말한다. 클래스 내부에 클래스를 사용하는 이유는 외부 클래스와 관련이 있던가, 다른 클래스와는 관련되지 않아 사용 하거나, 될 일이 없기 때문입니다. 내부 클래스는 선언하는 위치나 예약어에 따라 네 가지 유형을 갖는다. 인스턴스 내부 클래스 정적 내부 클래스 지역 내부 클래스 익명 내부 클래스 ## 인스턴스 내부 클래스 : 인스턴스 변수를 선언 할 때와 같이 선언 / 외부 클래스 내부에서만 생성하여 사용하는 객체를 선언할 때 사용 특징 : 외부 클래스 생성 후 인스턴스 내부 클래스가 생성된다. class OutClass{ //외부 클래스 private int num = 10; //외부 클..
기본클래스 Object 클래스 String 클래스 Wrapper 클래스 Class 클래스 Object 클래스 : 클래스의 최상위 클래스 -> 모든 클래스는 Object 클래스를 상속받는다. 이는 컴파일 과정에서 상속이 일어나므로 우리가 직접 코딩하지 않는다. 모든 클래스는 Object 클래스를 상속 받아 클래스의 메소드를 사용할 수 있다. Object 클래스의 메소드를 알아보자 String toString() : 객체를 문자열로 표현하여 반환 - 재정의하여 객체에 대한 설명이나 특정 멤버변수 값 반환 boolean equals() : 두 인스턴스가 동일한지 여부를 반환 int hashCode() : 객체의 헤시 코드 값을 반환 Object clone() : 객체를 복제하여 동일한 멤버 변수를 가진 새로운..