Java
-
9. 예외처리Java 2021. 1. 17. 22:28
목표 자바의 예외 처리에 대해 학습하세요. 학습할 것 (필수) 자바에서 예외 처리 방법 (try, catch, throw, throws, finally) 자바가 제공하는 예외 계층 구조 Exception과 Error의 차이는 ? RuntimeException과 RE가 아닌것의 차이는 ? 커스텀한 예외 만드는 방법 예외 처리 방법 Exception ? - 런타임에 발생하는 원치 않거나 예기치 않은 이벤트로, 프로그램 명령의 정상적인 흐름을 방해하는 것 왜 Exception 이 발생하는가 ? - 네트워크 연결문제, 잘못된 입력, 존재하지 않는 파일 열기 등 여러가지 이유로 인해 예외가 발생할 수 있다. public static void exception1() { try { // 예외가 일어날것같은 코드 } ..
-
8. 인터페이스Java 2021. 1. 9. 13:14
목표 자바의 인터페이스에 대해 학습하세요. 학습할 것 (필수) 인터페이스 정의하는 방법 인터페이스 구현하는 방법 인터페이스 레퍼런스를 통해 구현체를 사용하는 방법 인터페이스 상속 인터페이스의 기본 메소드 (Default Method), 자바 8 인터페이스의 static 메소드, 자바 8 인터페이스의 static 메소드, 자바 9 1. 인터페이스 정의하는 방법 interface { // constant fields // public static final 생략가능 public static final int PI = 3.14; // methods that abstract // public static 생략 가능 public abstract void print(); } 인터페이스를 왜 사용하는가 ? 전체적인 ..
-
7. 패키지Java 2021. 1. 2. 12:12
목표 자바의 패키지에 대해 학습하세요. 학습할 것 (필수) package 키워드 import 키워드 클래스패스 CLASSPATH 환경변수 classpath 옵션 접근지시자 1. package 키워드 - 왜 사용 하는가 ? 1. 이름 충돌 방지 college.staff.cse.Employee, college.staff.ee.Employee 이런식으로 두 개의 같은 클래스가 있을때 cse, ee 와 같이 다른 패키지에 넣어서 충돌을 방지 할 수 있다. 2. 클래스, 인터페이스, 이넘, 애노테이션을 찾기 쉽게끔 한다. 패키지를 사용하면 만들거나 찾을때 유용하다. 3. 접근제어자를 통하여 패키지 마다 접근을 다르게 할 수 있다 접근제어자 마다 패키지 접근하는게 다른데 이것을 가능하게 한다. - 패키지 이름 지정..
-
6. 상속Java 2020. 12. 23. 11:27
목표 자바의 상속에 대해 학습하세요. 학습할 것 (필수) 자바 상속의 특징 super 키워드 메소드 오버라이딩 다이나믹 메소드 디스패치 (Dynamic Method Dispatch) 추상 클래스 final 키워드 Object 클래스 1. 자바 상속의 특징 Inheritance is an important pillar of OOP. It is the mechanism in java by which one class is allow to inherit the features(fileds and methods) of another class. Important facts about inheritance in Java Default superclass: Except Object class, which has n..
-
5. 클래스Java 2020. 12. 19. 00:05
목표 자바의 Class에 대해 학습하세요. 학습할 것 (필수) 클래스 정의하는 방법 객체 만드는 방법 (new 키워드 이해하기) 메소드 정의하는 방법 생성자 정의하는 방법 this 키워드 이해하기 과제 (Optional) int 값을 가지고 있는 이진 트리를 나타내는 Node 라는 클래스를 정의하세요. int value, Node left, right를 가지고 있어야 합니다. BinrayTree라는 클래스를 정의하고 주어진 노드를 기준으로 출력하는 bfs(Node node)와 dfs(Node node) 메소드를 구현하세요. DFS는 왼쪽, 루트, 오른쪽 순으로 순회하세요. 1. 클래스 정의하는 방법 Class 클래스는 객체가 생성되는 사용자 정의 청사진 또는 프로토 타입입니다. 한 유형의 모든 개체에 공..
-
4. 제어문Java 2020. 12. 4. 10:26
목표 자바가 제공하는 제어문을 학습하세요. 학습할 것 선택문반복문 과제 과제 0. JUnit 5 학습하세요. 인텔리J, 이클립스, VS Code에서 JUnit 5로 테스트 코드 작성하는 방법에 익숙해 질 것. 과제 1. live-study 대시 보드를 만드는 코드를 작성하세요. 깃헙 이슈 1번부터 18번까지 댓글을 순회하며 댓글을 남긴 사용자를 체크할 것. 참여율을 계산하세요. 총 18회 중에 몇 %를 참여했는지 소숫점 두자리까지 보여줄 것. Github 자바 라이브러리 참고 깃헙 API를 익명으로 호출하는데 제한이 있기 때문에 본인의 깃헙 프로젝트에 이슈를 만들고 테스트를 하시면 더 자주 테스트할 수 있습니다. 과제 2. LinkedList를 구현하세요. LinkedList에 대해 공부하세요. 정수를 ..
-
3. 연산자Java 2020. 11. 28. 11:06
목표 자바가 제공하는 다양한 연산자를 학습하세요. 학습할 것 산술 연산자 비트 연산자 관계 연산자 논리 연산자 instanceof assignment(=) operator 화살표 (->) 연산자 3항 연산자 연산자 우선 순위 (optional) Java 13. switch 연산자 1. 산술 연산자 기본적으로 +, -, *, /, % 가 있다. / 연산자는 % 연산자와 구별되며 몫을 나타내준다. 정수를 나누는 경우 소숫점 아래의 값은 표현해주지 않는다. 실수 타입에서는 자동으로 실수형으로 변환된다. 정수 값을 0으로 나누는 것을 허용하지 않는다. 만약 0으로 나누는 경우 ArithmeticException 을 발생시킨다 만약 실수 값을 0.0 으로 나눈다면 Infinity 라고 출력된다. 결과가 Infin..
-
2. 자바 데이터 타입, 변수 그리고 배열Java 2020. 11. 25. 14:33
목표 자바의 프리미티브 타입, 변수 그리고 배열을 사용하는 방법을 익힙니다. 학습할 것 프리미티브 타입 종류와 값의 범위 그리고 기본 값 프리미티브 타입과 레퍼런스 타입 리터럴 변수 선언 및 초기화하는 방법 변수의 스코프와 라이프타임 타입 변환, 캐스팅 그리고 타입 프로모션 1차 및 2차 배열 선언하기 타입 추론, var 1. 프리미티브 타입 종류와 값의 범위 그리고 기본 값 실제 값이 저장되는 공간으로 Stack 메모리 공간에 저장되며 범위를 벗어날 경우 컴파일 에러가 발생한다. 객체가 타입이 아니고, 기본값이 있어서 Null 이 존재하지 않는다. 기본형 타입에 Null 을 넣고 싶다면 Wrapper Class 를 사용해야 한다. Type Default value Size Range of Values ..