스터디/[whiteship]JAVA
-
[9주차]예외처리스터디/[whiteship]JAVA 2021. 11. 23. 23:28
목표 자바의 예외 처리에 대해 학습하세요. 학습할 것 (필수) 자바에서 예외 처리 방법 (try, catch, throw, throws, finally) 자바가 제공하는 예외 계층 구조 Exception과 Error의 차이는? RuntimeException과 RE가 아닌 것의 차이는? 커스텀한 예외 만드는 방법 자바에서 예외 처리 방법 (try, catch, throw, throws, finally) 자바에서 프로그램 오동작을 막기위해 예외 처리를 제공한다. 아래는 자바에서 제공하는 예외 처리 방법이다. 예외 처리 방법에 대해서 알게 되면 보다 안전하고 유연한 프로그래밍을 구사할 수 있게된다.(Jump to Java) Q. 예외는 언제 발생할까? 문법 오류말고, 실제 프로그램에서 잘 발생하는 오류는 다음..
-
[13주차]IO스터디/[whiteship]JAVA 2021. 2. 20. 19:54
목표 자바의 Input과 Ontput에 대해 학습하세요. 학습할 것 (필수) 스트림 (Stream) / 버퍼 (Buffer) / 채널 (Channel) 기반의 I/O InputStream과 OutputStream Byte와 Character 스트림 표준 스트림 (System.in, System.out, System.err) 파일 읽고 쓰기 스트림 (Stream) / 버퍼 (Buffer) / 채널 (Channel) 기반의 I/O Stream 데이터를 운반할 때 사용하는 연결통로, 연속적인 데이터의 흐름을 물(stream)에 비유해서 붙여진 이름이다. 자바에선 파일이나 콘솔의 입출력을 직접 다루지 않고 stream이라는 중간 매개를 통해 흐름을 다룬다. FIFO(First in First out)구조이다. ..
-
[6주차]상속스터디/[whiteship]JAVA 2021. 2. 15. 14:54
목표 자바의 상속에 대해 학습하세요. 학습할 것 (필수) 자바 상속의 특징 super 키워드 메소드 오버라이딩 다이나믹 메소드 디스패치 (Dynamic Method Dispatch) 추상 클래스 final 키워드 Object 클래스 자바 상속의 특징 자바에서 상속이란 어떤 부모클래스에서 정의된 필드, 메소드 같은 속성들을 그 하위 클래스에서 공통된 속성을 상속해주어 사용하게 해주는 개념이다. 하지만 접근 지정자(public, protected, private, default)에 따라 상속받은 클래스에서도 부모에게 물려받은 필드와 메소드에 접근가능 여부가 정해진다. 자바에서 다중 상속은 불가능하다. 접근 지정자 같은 패키지의 클래스 다른 패키지의 클래스 같은 패키지 서브 클래스 다른 패키지 서브 클래스 p..
-
[5주차]클래스스터디/[whiteship]JAVA 2021. 2. 12. 18:38
자바의 Class에 대해 학습하세요. 학습할 것 (필수) 클래스 정의하는 방법 객체 만드는 방법 (new 키워드 이해하기) 메소드 정의하는 방법 생성자 정의하는 방법 this 키워드 이해하기 과제 (Optional) - 추후 추가예정 int 값을 가지고 있는 이진 트리를 나타내는 Node 라는 클래스를 정의하세요. int value, Node left, right를 가지고 있어야 합니다. BinrayTree라는 클래스를 정의하고 주어진 노드를 기준으로 출력하는 bfs(Node node)와 dfs(Node node) 메소드를 구현하세요. DFS는 왼쪽, 루트, 오른쪽 순으로 순회하세요. 먼저 클래스란, 객체를 선언한 모양의 틀이자 설계도이다. 이러한 설계도를 가지고 생성된 것을 인스턴스라고 한다. 또한 자..
-
[4주차]제어문스터디/[whiteship]JAVA 2021. 1. 26. 14:11
목표 자바가 제공하는 제어문을 학습하세요. 학습할 것 (필수) 선택문 반복문 과제 (옵션) 과제 0. JUnit 5 학습하세요. 인텔리J, 이클립스, VS Code에서 JUnit 5로 테스트 코드 작성하는 방법에 익숙해 질 것. 이미 JUnit 알고 계신분들은 다른 것 아무거나! 더 자바, 테스트 강의도 있으니 참고하세요~ 2021/01/27 - [테스트/Junit5] - Junit에 대해서 Junit에 대해서 공식 레퍼런스를 보고싶으신 분들은 여기로 >> junit.org/junit5/docs/current/user-guide/ JUnit5란? 1. 단위 테스트를 사용하는 자바 개발자가 사용하는 테스팅 프레임워크이다. (+)단위 테스트란? 모듈이나 jjunbbang.tistory.com 과제 1. li..
-
[3주차]자바가 제공하는 다양한 연산자스터디/[whiteship]JAVA 2021. 1. 23. 22:17
목표 자바가 제공하는 다양한 연산자를 학습하세요. 학습할 것 산술 연산자 비트 연산자 관계 연산자 논리 연산자 instanceof assignment(=) operator 화살표(->) 연산자 3항 연산자 연산자 우선 순위 (optional) Java 13. switch 연산자 연산자에 들어가기에 앞서 다음과 용어를 알아두어야 한다. 연산 : 주어진 식에서 계산하여 결과를 얻어내는 과정을 말한다. 연산자 : 주어진 식에서 사용되는 기호(+, -, /, %)등 피연산자 : 연산에 참여하는 데이터 #연산자의 종류 연산자의 종류 연산자 피연산자 수 의미 증감 ++, -- 단항 데이터를 1 혹은 -1씩 증감 산술 +, - , *, /, % 이항 사칙연산, 나머지 시프트 >>, 이항 해당 데이터를 시프트 연산 비..
-
[2주차]자바 데이터 타입, 변수 그리고 배열스터디/[whiteship]JAVA 2021. 1. 12. 15:23
목표 자바의 프리미티브 타입, 변수 그리고 배열을 사용하는 방법을 익힙니다. 학습할 것 프리미티브 타입 종류와 값의 범위 그리고 기본 값 프리미티브 타입과 레퍼런스 타입 리터럴 변수 선언 및 초기화하는 방법 변수의 스코프와 라이프타임 타입 변환, 캐스팅 그리고 타입 프로모션 1차 및 2차 배열 선언하기 타입 추론, var 프리미티브 타입 종류와 값의 범위 그리고 기본 값 자바의 내장되어 있는 기본 유형인 프리미어 타입은 정수, 실수, 논리, 문자 타입이 존재한다. 이런 프리미어 타입은 stack메모리 영역에 저장된다. Q.데이터 타입마다 표현할 수 있는 범위는 정해져 있다. 만약 표현가능한 범위를 넘으면 어떻게 될까? ->우리가 자주 사용하는 int형 데이터 타입으로 실험해보자. package Third..
-
[8주차]인터페이스스터디/[whiteship]JAVA 2021. 1. 6. 21:16
목표 자바의 인터페이스에 대해 학습하세요. 학습할 것 (필수) 인터페이스 정의하는 방법 인터페이스 구현하는 방법 인터페이스 레퍼런스를 통해 구현체를 사용하는 방법 인터페이스 상속 인터페이스의 기본 메소드 (Default Method), 자바 8 인터페이스의 static 메소드, 자바 8 인터페이스의 private 메소드, 자바 9 인터페이스 정의 자바에서 인터페이스는 추상메서드와 상수의 모음을 인터페이스라 말한다. 여기서 추상 메서드란 다음과 같다. 인터페이스 Walkable내 walk란 메서드를 보면 알 수 있듯이 구현이 되어있지 않고 선언만 되어 있다. 우리는 이것을 '추상 메소드'라 칭한다. 이러한 추상 메서드와 상수를 가진 인터페이스는 반드시 상속받는 클래스에서 구현해 주어야 한다. 왜? -> 기..