자바 7

[Java-14] 어노테이션

■ 어노테이션 (Annotation) 오늘은 어노테이션에 대해 정리하겠습니다. 어노테이션 (Annotation)이란? 어노테이션의 사전적 의미는 '주석'입니다.즉, 주석처럼 코드에 달아 해당 코드에 특수한 의미를 부여해주는 기능을 합니다. 가장 효율적으로 사용되는 부분은 유효성 검사 부분입니다. 코드의 문법 에러를 체크하여 유효성을 확인해줍니다. ● 사용 방법 사용 방법을 보겠습니다. 먼저 형태는 아래와 같습니다. @Annotation_name @ 문자를 사용하고, 뒤에 해당 어노테이션명을 작성해주는 것이죠. Model 클래스에 어노테이션을 사용하여 유효성 검사를 하는 예시를 보시죠. @NotNullprivate String name; @NotNull@Min(0)@Max(10)private Integer..

Java 2017.05.08

[Java-13] 제네릭

■ 제네릭 (Generic) 오늘은 제네릭에 대해 정리하겠습니다. 빈번한 타입의 변환은 프로그램 성능에 좋지 않은 영향을 미칩니다. 그렇기에 이러한 형 변환 시 발생할 수 있는 문제점을 사전에 방지하기 위해 '제네릭'이 있습니다 제네릭은 특정 자료형에 얽매이지 않고 프로그래밍을 할 수 있게 해줍니다. 구체적인 타입을 명시하지 않고, 타입 파라미터로 대체하여 사용하죠. ● 선언 방법 사용 방법은 다음과 같습니다. public class 클래스명 {...}public interface 인터페이스명 {...} 타입 매개변수 T를 사용한다는 것 외에는 기존 클래스와 인터페이스 형태와 동일합니다. 타입 매개 변수의 형태는 다음 5가지가 있습니다.- E : Element- K : Key- N : Numer- T :..

Java 2017.03.18

[Java-12] 람다식 (Lambda)

■ 람다식 (Lambda) 오늘은 람다식에 대해 정리하겠습니다. 람다식은 자바8부터 추가된 개념으로 '식별자 없이 실행 가능한 익명의 함수 표현식'입니다. 이렇게 개념만 보면 약간 이해가 안가고 헷갈릴 수 있는데요. 사용 방법은 다음과 같습니다. (parameter) -> body (parameter) -> { body } () -> body () -> { body } 더 이해가 안간다고 하시는 분들이 계시겠네요... 너무 단순하죠? 이게 바로 람다의 장점이자 단점이 되는 것 입니다. 기존의 불필요한 코드를 줄이고 가독성을 향상시켰다는 아주 큰 장점이 특징입니다. 장점과 동시에 이는 또한 너무 줄여버린 나머지... 람다에 익숙하지 않는 사람에게는 모호하다는 것이 단점이기도 해요. ● 기존 코드 vs 람다..

Java 2017.03.11

[Java-11] 스트림 (Stream)

안녕하세요. 오늘은 스트림에 대해서 정리해보겠습니다. ■ 스트림(Stream) 먼저 스트림이란 ?컬렉션의 저장 요소를 하나씩 참조하여 람다식으로 처리할 수 있도록 해주는 반복자 크게 중간 처리와 최종 처리로 나뉘어 집니다.중간 처리 : 필터링, 매핑, 정렬, 그룹핑 등최종 처리 : 합계, 평균, 카운팅 등 ● 특징 - 람다식으로 요소 처리 코드를 제공 - 내부 반복자를 사용한 병렬처리 - 중간 처리와 최종처리를 할 수 있다. 여기서 람다식은 무엇일까요? 람다식 역시 자바8에서 등장한 개념입니다. 다음 포스팅(또는 그 다음 포스팅...)에서 정리할 예정입니다. 여기서는 간단히 정의만 알고 넘어가죠! 람다식의 정의는 아래와 같습니다.식별자 없이 실행 가능한 익명의 함수 표현식 이제 람다식은 중간중간 계속 나..

Java 2017.03.02

[Java-9] 추상클래스, 추상메소드, 인터페이스

■ [Java-9] 추상클래스, 추상메소드, 인터페이스 안녕하세요. 오늘은 JAVA의 추상클래스, 추상메소드, 인터페이스에 대해서 알아보겠습니다. 지난 포스팅에서 살짝 언급하였죠? 오늘은 바로 그 추상화에 대해서 정리하겠습니다. ■ 추상클래스란?■ 추상메소드란?■ 인터페이스란? ■ 추상클래스란? 클래스는 크게 2종류로 나뉠 수 있는데요. 객체를 직접 생성할 수 있는 '실체 클래스' 그리고 이들의 공통적인 특성을 선언한 '추상 클래스' 이렇게 나뉠 수 있습니다. 물론 실체 클래스와 추상 클래스는 상속의 관계를 가지고 있어요.(추상 클래스가 부모인 것은 당연하겠죠?) 실체 클래스는 추상 클래스의 모든 특성을 물려받고, 이 외의 추가적인 특성을 가질 수 있습니다. 추상 클래스는 이러한 특성을 선언하였기에, n..

Java 2017.02.12

[Java-7] 클래스

■ [Java-7] 클래스 안녕하세요. 오늘은 JAVA의 클래스에 대해서 알아보겠습니다. 지난 시간에 정리했던 객체와 클래스의 심화버전이라고 생각하시면 되겠습니다. 먼저 지난 포스팅에서 클래스의 구성 요소에 대해 간략히 정리했는데요. 오늘은 각 구성 요소의 세부적인 내용을 정리할게요. ■ 필드■ 생성자■ 메소드■ 접근 제한자 ■ 필드 지난 시간에 정의한 필드란 아래와 같았습니다. 필드 - 객체의 데이터가 저장되는 곳. 데이터 선언 및 초기화 하는 공간이에요int fieldName; 이 필드를 실제로 어떻게 사용하는지에 대해서 보겠습니다. 선언 및 초기화 하는 방법은 변수를 선언 및 초기화 하는 방법과 동일합니다. 이후 필드를 사용한다는 것은 필드 값을 읽고, 변경하는 작업을 말합니다. 해당 클래스의 필드..

Java 2017.01.30

[Java-5] 참조 타입 (문자열, 배열, 열거)

■ [Java-5] 참조 타입 안녕하세요. 오늘은 JAVA의 참조 타입에 대해 정리하겠습니다. 참조 타입이라고해서 생소하게 느껴질수도 있겠는데요. 알고보면 이 또한 익숙한 개념입니다. 여기서는 아래 목차와 같이 살펴보겠습니다. ■ 데이터 타입■ Null■ String 타입■ 배열 타입■ 열거 타입 ■ 데이터 타입 먼저 데이터 타입에 대해 정리하고 시작하겠습니다. 이번 포스팅에서 다룰 참조 타입의 상위 개념이 바로 데이터 타입인데요. 데이터 타입에는 크게 2가지의 하위 개념이 있습니다. 기본 타입과 참조 타입이라고 합시다! 기본 타입 - 정수(char, int, long 등), 실수(float, double), 논리(boolean)등의 타입참조 타입 - 배열, 열거, 클래스, 인터페이스 등 객체의 '번지'..

Java 2017.01.24