Back-End - Main Menu/Java 212

Ex12_08 - 애너테이션의 활용

package com.kook.ch12Project; import java.lang.annotation.*; @Deprecated @SuppressWarnings("1111") //value요소 하나이므로 value를 생략 값이 1111, 유효하지 않은 애너테이션은 무시된다. /* @Target(value={TYPE, FIELD, METHOD, PARAMETER, CONSTRUCTOR, LOCAL_VARIABLE, MODULE}) @Retention(value=SOURCE) */ @TestInfo1(testedBy="kim", testDate=@DateTime1(yymmdd="160101", hhmmss="235959")) //나머지 요소 count, testTools, testType은 default값..

Ex12_08 - 어노테이션의 활용

package com.kook.ch12Project; import java.lang.annotation.*; @Deprecated @SuppressWarnings("1111") //value요소 하나이므로 value를 생략 값이 1111, 유효하지 않은 애너테이션은 무시된다. /* @Target(value={TYPE, FIELD, METHOD, PARAMETER, CONSTRUCTOR, LOCAL_VARIABLE, MODULE}) @Retention(value=SOURCE) */ @TestInfo1(testedBy="kim", testDate=@DateTime1(yymmdd="160101", hhmmss="235959")) //나머지 요소 count, testTools, testType은 default값..

Ex12_makeAno (어노테이션 만들기)

package com.kook.ch12Project; //국쌤예제(교재에 없는 내용-추가설명) @TestInfo( count=3, testedBy="kim",testTools= {"JUnit", "AutoTester"}, testType=TestType.FIRST, testDate=@DateTime(yymmdd="160101", hhmmss="235959") ) public class Ex12_makeAno { public static void main(String[] args) { System.out.println("어노테이션 활용"); } } //어노테이션 만들기 @interface TestInfo { //@interface로 어노테이션은 정의 //추상메서드 형식으로 어노테이션에서 사용할 요소를 만든..

Ex12 - JavaDocClass (javadoc파일 생성하는법)

package com.kook.javaDoc; /** * * @author Kook * Date : 2023-01-25 * */ public class JavaDocClass { /** * * @param args * main method */ public static void main(String[] args) { myMethod(); } /** * 메서드 생성 * this method is made by kook * test method */ static void myMethod() { System.out.println("javadoc test"); } } /* javadoc 파일 생성 및 사용방법 프로젝트 우클릭 export클릭 javadoc클릭 생성할 프로젝트 확인후에 설정할게 더 있으면 next..

ch12 - 애너테이션 (이클립스로 Javadoc(자바문서)만들기)

javadoc은 자바프로그램에 대한 정보를 갖고 있는 문서를 의미한다. 자바에서는 자바프로그램의 정보를 /** */ 라는 주석을 사용해서 생성하고 Javadoc.exe라는 프로그램을 실행하면 자바문서가 자동으로 html형식으로 생성됨. 이클립스에서는 javadoc을 생성하려는 프로젝트를 선택하고 우클릭한뒤 export를 선택하고 ---java에서 javadoc을 선택한다. 프로젝트 선택을 확인하고 javadoc문서가 저장될 위치를 선택한다. (기본으로 저장하면 워크스페이스의 해당 프로젝트 폴더밑에 doc폴더가 있고 여러 파일이 생성되는 index.html을 보면 javadoc문서가 보인다.)

Ex12_06 - 열거형에 멤버 추가하기

package com.kook.ch12Project; //국.변 public class Ex12_06 { public static void main(String[] args) { for(Direction2 d : Direction2.values()) { //enum명.values()는 enum명이 갖고 있는 각각의 원소(상수)객체를 배열로 반환 System.out.printf("%s=%d%s%n", d.name(),d.getValue(),d.getSymbol()); } Direction2 d1 = Direction2.EAST; //enum의 각각의 상수를 객체로 처리 Direction2 d2 = Direction2.SOUTH; System.out.printf("d1=%s, %d%n", d1.name(),..

Ex12_05 - 열거형

package com.kook.ch12Project; public class Ex12_05 { public static void main(String[] args) { /* enum 참조변수 선언은 클래스처럼 해줌, (enum명, 참조변수명) enum형 값은 (enum명.상수명으로 표시), (클래스형 변수처럼 접근) */ Direction d1 = Direction.EAST; //값은 0 Direction d2 = Direction.valueOf("WEST"); //값은 2 Direction d3 = Direction.valueOf(Direction.class, "EAST"); //enum 객체는 상수명을 가짐 System.out.println("d1 : " + d1); System.out.println..

Ex12_04 - 와일드 카드

package com.kook.ch12Project; //국.변 import java.util.ArrayList; public class Ex12_04 { public static void main(String[] args) { //FruitBox2 제네릭 FruitBox2 fruitBox = new FruitBox2(); FruitBox2 appleBox = new FruitBox2(); //Fruit2의 자손인 Apple을 제네릭으로 사용함 //상위 제네릭 변수인 Fruit2를 사용한 fruitBox는 하위 객체를 사용할 수 있음 fruitBox.add(new Apple2()); fruitBox.add(new Grape2()); //하위클래스인 Apple2를 제네릭으로 사용하면 상위와 다른 객체는 사..

ch12 - 제한된 지네릭 클래스 (교재 466p - 추가설명)

제한된 지네릭 클래스 : 한종류의 제네릭 매개변수를 사용하도록 하고 있으나, 제네릭에 상속관계를 이용해 여러개의 타입 변수를 사용하게 함. class FruieBox로 정의하면 Fruit클래스를 상속한 모든 클래스를 타입변수로 사용가능 (Fruit가 포함해서 자손들) 인터페이스를 구현한 클래스들을 타입변수로 사용하려면 class FruitBox 이 때 Eatables는 인터페이스이다. Implements가 아닌 extends를 제네릭에선 사용한다. Class FruitBox로 사용한다.