자바 스터디
-
Annotation자바 스터디 2021. 3. 1. 20:45
백기선님의 자바 스터디를 진행하며 찾아 본 내용입니다. 목표 자바의 애노테이션에 대해 학습하세요. 학습할 것 애노테이션 정의하는 방법 @retention @target @documented 애노테이션 프로세서 Annotation이란 Annotation은 JDK 1.5에서 추가 된 기능이다. 어노테이션은 메타데이터 즉 다른 데이터를 설명하기 위한 데이터이다. 전체 소스코드에서 코드의 로직에는 영향을 주지 않지만 해당 타겟의 연결 방법이나 소스코드의 구조를 변경한다. 다음과 같은 특징을 가지고 있다. '@'로 시작된다. metadata를 프로그램에 연결하는데 유용하게 사용된다. Annotatoion은 순수한 '주석'은 아니고 컴파일러가 프로그램을 컴파일 하는 과정을 변화시켜 줄 수 있다. 다음과 같은 코드가..
-
Enum자바 스터디 2021. 2. 4. 00:14
백기선님의 자바스터디를 진행하며 찾아본 내용입니다. 목표 자바의 열거형에 대해 학습하세요. 학습할 것 enum 정의하는 방법 enum이 제공하는 메소드 (values()와 valueOf()) java.lang.Enum EnumSet Enum 정의하는 방법 열거형(Enumeration)은 상수의 집합을 표현하는데 사용되는 기법이다. 자연에서는 행성들, 색깔들, 방향 등등의 자연에서 찾아 볼 수 있는 열거형이 있다. 예를들어 요일을 다음과 같이 Enum으로 표기 할 수 있다. 1 2 3 4 5 public enum Day { SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY } Colored by Color Scripter cs 이 열거형을 다음..
-
멀티쓰레드 프로그래밍자바 스터디 2021. 2. 2. 22:13
백기선님의 Java 스터디를 진행하며 찾아본 내용입니다. 목표 자바의 멀티쓰레드 프로그래밍에 대해 학습하세요. 학습할 것 Thread 클래스와 Runnable 인터페이스 쓰레드의 상태 쓰레드의 우선순위 Main 쓰레드 동기화 데드락 Thread 클래스와 Runnable 인터페이스 Thread는 두가지 방법을 통해 구현되어 질 수 있다. 1. Thread class의 상속 2. Runnable interface의 구현 1. Thread class의 상속 Thread class를 상속 받은 뒤에 run() 메소드에서 수행할 작업을 작성 할 수 있다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 public class MultithreadingDemo extend..
-
예외 처리자바 스터디 2021. 1. 30. 19:02
백기선님의 Java 스터디를 진행하며 찾아본 내용입니다. 목표 자바의 예외 처리에 대해 학습하세요. 학습할 것 자바에서 예외 처리 방법 (try, catch, throw, throws, finally) 자바가 제공하는 예외 계층 구조 Exception과 Error의 차이는? RuntimeException과 RE가 아닌 것의 차이는? 커스텀한 예외 만드는 방법 자바에서 예외 처리 방법 (try, catch, throw, throws, finally) Exception이란? 프로그램 실행 중에 발생하는 이벤트로 프로그램 명령의 정상적인 흐름을 방해하는 것 예외(Exception)가 발생하면 메소드는 예외 객체를 형성하여 런타임 시스템에 넘기고 런타임 시스템은 에러를 처리할 수 있는 코드를 찾기위해 'call..
-
인터페이스자바 스터디 2021. 1. 28. 16:05
백기선님의 Java 스터디를 진행하며 찾아본 내용입니다. https://limkydev.tistory.com/197?category=957527 [JAVA] 자바 인터페이스란?(Interface)_이 글 하나로 박살내자 1. 인터페이스 개념과 역할 인터페이스....이 글하나로 박살내자. (회사에서 존댓말을 많이 쓰기때문에 여기서라도 반말로 글을 써보고 싶음 ㅎ) 인터페이스는 뭘까?? 결론부터 말하면, 극단적으 limkydev.tistory.com 위의 블로그를 많이 참고했습니다. 목표 자바의 인터페이스에 대해 학습하세요. 학습할 것 인터페이스 정의하는 방법 인터페이스 구현하는 방법 인터페이스 레퍼런스를 통해 구현체를 사용하는 방법 인터페이스 상속 인터페이스의 기본 메소드 (Default Method), ..
-
패키지자바 스터디 2021. 1. 22. 21:50
백기선님의 Java 스터디를 진행하며 찾아본 내용입니다. 목표 자바의 패키지에 대해 학습하세요 학습할 것 pakage 키워드 import 키워드 클래스패스 CLASSPATH 환경변수 -classpath 옵션 접근지시자 pakage 키워드 관련 클래스를 그룹화 하는데 사용되어진다. 파일 디렉터리에서의 '폴더'라고 생각하면 된다. 이름간에 충돌을 방지 할 수 있고 패키지를 사용함으로써 보다 편리하게 관리 할 수 있다. 2가지의 카테고리로 나뉜다 Built-in Package (java API가 제공하는 패키지) User-defined Package (유저가 만든 패키지) Built-in Packages Java API제공하는 라이브러리 클래스, 무료로 사용할 수 있으며 JDE안에 포함되어져 있다. manag..
-
상속자바 스터디 2021. 1. 22. 21:02
백기선님의 Java 스터디를 진행하며 찾아본 내용입니다. 목표 자바의 상속에 대해 학습하세요. 학습할 것 자바 상속의 특징 super 키워드 메소드 오버라이딩 다이나믹 메소드 디스패치(Dynamic Method Dispatch) 추상 클래스 final 키워드 Object 클래스 자바 상속의 특징 Object 클래스를 제외하고 모든 클래스는 단 하나의 direct super class가 존재한다. 명시적인 super 클래스가 없다면 모든 클래스는 암시적으로 Object의 서브 클래스이다. super 키워드 메소드가 슈퍼 클래스의 메소드중 하나를 오버라이드 할 경우 super 키워드를 이용해 재정의 되어진 메소드를 call 할 수 있다. 다음과 같이 슈퍼클래스와 Subclass가 있다고 할 때 1 2 3 4..
-
클래스자바 스터디 2021. 1. 16. 14:53
백기선님의 Java 스터디를 진행하며 찾아본 내용입니다. 목표 자바의 Class에 대해 학습하세요. 학습할 것 클래스 정의하는 방법 객체 만드는 방법 (new 키워드 이해하기) 메소드 정의하는 방법 생성자 정의하는 방법 this 키워드 이해하기 과제 (Optional) int 값을 가지고 있는 이진 트리를 나타내는 Node 라는 클래스를 정의하세요. int value, Node left, right를 가지고 있어야 합니다. BinrayTree라는 클래스를 정의하고 주어진 노드를 기준으로 출력하는 bfs(Node node)와 dfs(Node node) 메소드를 구현하세요. DFS는 왼쪽, 루트, 오른쪽 순으로 순회하세요. 클래스 정의하는 방법 Syntax: 1 2 3 4 class MyClass exten..