Java

Java

Java - 에너테이션의 조상, 규칙, 활용

🌱 오늘의 주제 : Java - 에너테이션의 조상, 규칙, 활용 🌱 모든 에너테이션의 조상 모든 에너테이션의 조상은 Annotation이다. 상속은 허용이 되지 않는다. Annotation을 조상으로 지정할 수 없다. @interface TestInfo extends Annotation { // 에러. 허용되지 않는 표현 } 모든 애너테이션의 객체에 대해 equals(), hashCode(), toString()과 같은 메서드를 호출하는 것이 가능하다. 🌱 애너테이션의 요소의 규칙 요소의 타입은 기본형, String, enum, 애너테이션, class만 허용된다. () 안에 매개변수를 선언할 수 없다. 예외를 선언할 수 없다. 요소를 타입 매개변수로 정의할 수 없다. @interface Annotest ..

Java

Java - 메타 애너테이션이란?

🌱 오늘의 주제 : 메타 애너테이션이란? 🌱 메타 애너테이션이란? 메타 애너테이션은 에너테이션을 위한 에너테이션이다. 즉, 에너테이션에 붙이는 에너테이션으로 적용대상이나 유지기간등을 지정하는데 사용된다. 메타 에너테이션은 java.lang.annotation패키지에 포함되어 있다. 🌱 @Target 애너테이션이 적용가능한 대상일 지정하는데 사용. 아래는 @SuppressWarnings를 정의한 것이다. 이 애너테이션에 적용할 수 있는 대상을 @Target으로 지정했다. @Target ({TYPE, FIELD, METHOD, PARAMETER, CONSTRUCTOR, LOCAL_VARIABLE}) @Retention(RetentionPolicy.SOURCE) public @interface Suppress..

Java

Java - 애너테이션이란?

🌱 오늘의 주제 : 애너테이션이란? 🌱 애너테이션이란? 프로그램의 소스코드 안에 다른 프로그램을 위한 정보를 미리 약속된 형식으로 포함시킨 것이 애너테이션이다. 에너테이션은 주석(comment)처럼 프로그래밍 언어에 영향을 미치지 않으면서도 다른 프로그램에게 유용한 정보를 제공할 수 있다는 장점이 있다. @Test // 메서드가 테스트 대상임을 테스트 프로그램에게 알린다. public void method(). { ... } @Test는 이 메서드를 테스트해야 한다는 것을 테스트 프로그램에게 알리는 역할을 할 뿐, 메서드가 포함된 프로그램 자체에는 아무런 영향을 미치지 않는다. 주석처럼 존재하지 않는 것이나 다름없다. 🌱 표준 에너테이션 🌱 @Override 조상의 메서드를 오버라이딩하는 것이라는 걸 컴..

Java

Java - 열거형(enum)

🌱 오늘의 주제 : 열거형(enum) 🌱 열거형(enum) 여러 상수를 선언해야 할 때 편리하게 선언 할 수 있는 방법 자동적으로 0부터 시작하는 정수값이 할당된다. class Card { enum Kind { CLOVER, HEART, DIAMOND, SPADE } // 열거형 kind를 정의 enum Value { TWO, THREE, FOUR } // 열거형 Value를 정의 final Kind kind; // 타입이 Int가 아닌 kind임에 유의하자. final Value value; } 🌱 열거형의 정의와 사용 enum 열거형이름 { 상수명1, 상수명2, .... } enum Direction { EAST, SOUTH, WEST, NORTH } class Unit { int x, y; Dire..

Java

Java - 지네릭 메서드와 형변환

🌱 오늘의 주제 : 지네릭 메서드와 형변환 🌱 지네릭 메서드 메서드의 선언부에 지네릭 타입이 선언된 메서드를 지네릭 메서드라고 한다. 지네릭 클래스에 정의된 타입 매개변수가 T이고, 지네릭 메서드에 정의된 타입 매개변수가 T이어도 이 둘은 별개의 것이다. class FruitBox { ... static void sort(List list, Comparator

Java

Java - 제한된 지네릭 클래스 & 와일드 카드

🌱 오늘의 주제 : 제한된 지네릭 클래스 & 와일드 카드 🌱 제한된 지네릭 클래스 타입 매개변수 T에 지정할 수 있는 타입의 종류를 제한 하는 방법은 extends를 사용하면, 특정 타입의 자손들만 대입할 수 있게 제한 할 수 있다. class FruitBox { // Fruit의 자손만 타입으로 지정가능 ArrayList list = new ArrayList(); } FruitBox appleBox = new FruitBox(); // OK FruitBox toyBox = new FruitBox(); // 에러. Toy는 Fruit의 자손이 아님. 인터페이스를 구현해야 한다면, extends를 사용한다. (implements 사용하지 않음) interface Eatable {} class FruitBo..

Java

Java - 지네릭스(Generics)

🌱 오늘의 주제 : 지네릭스(Generics) 🌱 지네릭스(Generics) 다양한 타입의 객체들을 다루는 메서드나 컬렉션 클래스에 컴파일 시의 타입 체크를 해주는 기능 타입 안정성을 제공한다. 타입체크와 형변환을 생략할 수 있으므로 코드가 간결해 진다. ArrayList tvList = new ArrayList(); tvList.add(new Tv()); Tv t = tvList.get(0); // 형변환 불필요 🌱 지네릭 타입과 다형성 지네릭 클래스의 객체를 생성할 때, 참조변수에 지정해준 지네릭 타입과 생성자에 지정해 준 지네틱 타입은 일치해야 한다. ArrayList liest = new ArrayList(); // 일치 지네릭 타입이 아닌, 클래스 타입 간에 다형성을 적용하는 것은 가능하다. 이..

Java

Java - Math클래스

🌱 오늘의 주제 : Math클래스 🌱 Math클래스 Math클래스의 생성자는 접근 제어자가 private이기 때문에 다른 클래스에서 Math인스턴스를 생성할 수 없도록 되어 잇다. 클래스 내에 인스턴스변수가 없기 때문이다. Math클래스의 메서드는 모두 static이며, 두개의 상수만 정의 해놓고 있다. public static final double E = 2. 7182818284 ...; // 자연로그의 밑 public static final double PI = 3.14159265... // 원주율 🌱 Math의 메서드 package Chapter9; import static java.lang.Math.*; public class ex9_13 { public static void main(Strin..

Java

Java - StringBuffer클래스

🌱 오늘의 주제 : StringBuffer클래스 🌱 StringBuffer클래스 String클래스는 인스턴스를 생성할 때 지정된 문자열을 변경 할 수 없지만, StringBuffer클래스는 변경이 가능하다. 내부적으로 문자열 편집을 위한 버퍼(buffer)를 가지고 있다. 인스턴스 생성할 때 크기를 지정할 수 잇다. 문자열을 저장하기 위한 char형 배열의 참조변수를 인스턴스변수로 선언해 놓고 있다. public final class StringBuffer implements java.io.Serializable { pivate char[] value; } 🌱 StringBuffer의 생성자 인스턴스를 생성할 때, 버퍼의 크기를 지정해주지 않으면 16개의 문자로 저장 할 수 있는 크기의 버퍼로 생성한다...

Java

Java - String클래스

🌱 오늘의 주제 : String클래스 🌱 String클래스 String클래스에는 문자형 배열 참조변수(char[]) value를 인스턴스 변수로 정의해 두고 잇다. String 인스턴스는 문자열을 읽어 올 수 만 있고, 변경은 불가능 하다. 🌱 문자열(String)의 비교 문자열 만드는 두가지 방법이 있다. 1) 문자열 리터럴을 지정하는 방법 문자열 리터럴은 이미 존재하는 것을 재사용 하는 것이다. String str1 = "abc"; // 문자열 리터럴 "abc"의 주소가 str1에 저장됨 2) String클래스의 생성자를 사용하는 방법 생성자를 이용할 경우, new연산자에 의해, 항상 새로운 String 인스턴스가 생성된다. String str3 = new String("abc"); package C..

요가하는 개발자
'Java' 카테고리의 글 목록 (4 Page)