본문 바로가기

분류 전체보기

(17)
자바 애노테이션 - 백기선님 스터디 12주차 과제 목표 자바의 애노테이션에 대해 학습하세요. 학습할 것 (필수) 애노테이션 정의하는 방법 @retention @target @documented 애노테이션 프로세서 애노테이션이란 미리 정의된 태그들을 이용해서 주석 안에 정보를 저장하고, jacadoc.exe라는 프로그램이 이 정보를 읽어 문서를 작성한다. 이를 응용하여 프로그램의 소스코드 안에 다른 프로그램을 위한 정보를 미리 약속된 형식으로 포함시킨 것이다. 주석처럼 프로그래밍 언어에 영향을 미치지 않으면서도 유용한 정보를 제공한다. 애노테이션 정의하는 방법 @기호를 붙이며 이외에는 인터페이스를 정의하는 것과 같다. @interface 애노테이션이름 { 타입 요소이름();// 애노테이션 요소 선언 ... } 애노테이션의 요소 애노테이션 내의 선언된 메소..
자바 Enum - 백기선님 스터디 11주차 과제 목표 자바의 열거형에 대해 학습하세요. 학습할 것 (필수) enum 정의하는 방법 enum이 제공하는 메소드 (values()와 valueOf()) java.lang.Enum EnumSet enum 정의하는 방법 enum 열거형이름 { 상수명1, 상수명2, ...} ex) enum Direction { EAST, SOUTH, WEST, NORTH } enum이 제공하는 메소드 (values()와 valueOf()) values() 열거형의 모든 상수를 배열에 담아 반환한다. 모든 열거형이 가지고 있는 메소드로 컴파일러가 자동으로 추가해 준다. Direction [] dArr = Direction.values(); valueOf() 지정된 열거형에서 name과 일치하는 열거형 상수를 반환한다. Direct..
자바 멀티쓰레드 프로그래밍 - 백기선님 스터디 10주차 과제 목표 자바의 멀티쓰레드 프로그래밍에 대해 학습하세요. 학습할 것 (필수) Thread 클래스와 Runnable 인터페이스 쓰레드의 상태 쓰레드의 우선순위 Main 쓰레드 동기화 데드락 Thread 클래스와 Runnable 인터페이스 쓰레드를 구현하는 방법은 Thread클래스를 상속받는 방법과 Runnable 인터페이스를 구현하는 방법, 두 가지가 있다. 상속을 받으면 다른 클래스를 상속받을 수 없기 때문에, Runnable 인터페이스를 구현하는 방법이 일반적이다. 1. Thread 클래스 상속 class MyThread extends Thread { public void run() {} // Thread클래스의 run()을 오버라이딩 } 2. Runnable 인터페이스 구현 class MyThread i..
자바 예외처리 - 백기선님 스터디 9주차 과제 목표 자바의 예외 처리에 대해 학습하세요. 학습할 것 (필수) 자바에서 예외 처리 방법 (try, catch, throw, throws, finally) 자바가 제공하는 예외 계층 구조 Exception과 Error의 차이는? RuntimeException과 RE가 아닌 것의 차이는? 커스텀한 예외 만드는 방법 예외처리란? 프로그램 실행 시 발생할 수 있는 예외에 대비한 코드를 작성하는 것이다. 프로그램의 비정상 종료를 막고, 정상적인 실행상태를 유지하는 것이 목표이다. 처리되지 못한 예외가 발생하면 프로그램은 비정상적으로 종료된다. 처리되지 못한 예뇌는 JVM의 예외처리기가 받아서 예외 원인을 화면에 출력한다. 자바에서 예외 처리 방법 (try, catch, throw, throws, finally) ..
자바 인터페이스 - 백기선님 스터디 8주차 과제 목표 자바의 인터페이스에 대해 학습하세요. 학습할 것 (필수) 인터페이스 정의하는 방법 인터페이스 구현하는 방법 인터페이스 레퍼런스를 통해 구현체를 사용하는 방법 인터페이스 상속 인터페이스의 기본 메소드 (Default Method), 자바 8 인터페이스의 static 메소드, 자바 8 인터페이스의 private 메소드, 자바 9 인터페이스 정의하는 방법 클래스 작성법과 같다. 다만 키워드로 class 대신 interface를 사용한다. interface 인터페이스이름 { public static final 타입 상수이름 = 값; public abstract 메서드이름 (매개변수목록); } 인터페이스 멤버 제약사항 모든 멤버변수는 public static final 이어야 하며, 이를 생략할 수 있다. ..
자바 패키지 - 백기선님 스터디 7주차 과제 목표 자바의 패키지에 대해 학습하세요. 학습할 것 (필수) package 키워드 import 키워드 클래스패스 CLASSPATH 환경변수 -classpath 옵션 접근지시자 package 키워드 패키지란 클래스(또는 인터페이스)의 묶음인 하나의 디렉터리이다. 하나의 소스파일에는 첫 번째 문장으로 단 한 번의 패키지 선언만을 허용한다. 모든 클래스는 반드시 하나의 패키지에 속해야 한다. 대소문자 모두 가능하나 클래스명과의 구분을 위해 소문자를 사용하는 것이 원칙이다. // 패키지 선언 package 패키지명; 이름 없는 패키지(unnamed package) 패키지를 지정하지 않은 클래스는 자동적으로 '이름 없는 패키지'에 속하게 된다. import 키워드 사용하고자 하는 클래스의 패키지를 명시할 수 있다...
자바 상속 - 백기선님 스터디 6주차 과제 목표 자바의 상속에 대해 학습하세요. 학습할 것 (필수) 자바 상속의 특징 super 키워드 메서드 오버라이딩 다이나믹 메서드 디스패치 (Dynamic Method Dispatch) 추상 클래스 final 키워드 Object 클래스 자바 상속의 특징 상속이란 기존 클래스를 재사용하여 새로운 클래스를 작성하는 것이다. 기존 클래스를 재사용하므로 코드 중복을 제거하며 유지보수가 용이해진다. extends를 사용하여 상속을 구현할 수 있다. class 상속 받는 클래스 명 extends 상속 하는 클래스 명{ ⋮ } ex) class Child extends Parent { ⋮ } Child 클래스와 Parent 클래스는 상속 관계에 있다고 하며 상속해주는 클래스를 '조상 클래스', 상속받는 클래스를 '자손 ..
자바 클래스 - 백기선님 스터디 5주차 과제 목표 자바의 Class에 대해 학습하세요. 학습할 것 (필수) 클래스 정의하는 방법 객체 만드는 방법 (new 키워드 이해하기) 메서드 정의하는 방법 생성자 정의하는 방법 this 키워드 이해하기 클래스 정의하는 방법 클래스란 '객체를 정의해 놓은 것.' 또는 '객체 설계도 또는 틀'이라고 할 수 있다. 클래스에는 객체가 가지는 공통적인 속성과 기능들이 정의되어있다. 이 속성들을 매개변수 또는 필드라고 주로 부르며 기능은 메서드라고 부른다. 클래스를 이용해 여러개의 객체를 만들 수 있다. class 클래스명{ 멤버변수 메소드 생성자// 필수이나 생략가능하다. 아래 생성자 탭에서 설명. } ex) class Lion{ String name; int age; void growth(){ age++; } Lio..