JAVA
-
12. 람다식 ( Lambda, @FunctionalInterface ) [JAVA]JAVA/Java 2017. 5. 22. 13:16
1.람다식이란? 익명함수를 생성하기 위한 식으로 객체 지향 언어보다는 함수 지향 언어게 가깝다.자바에서 람다식을 사용하는 이유는 코드가 매우 간결해지고, 컬렉션의 요소를 필터링하거나매핑해서 원하는 결과를 쉽게 집계할 수 있기 때문이다. 람다식의 형태는 매개변수를 가진 코드 블록이지만, 런타임 시에는 익명 구현 객체를 생선한다. 2-1. 람다식 기본 문법 (타입 매개변수, ...) -> { 실행문; ... }; (타입 매개변수, ...)는 오른쪽 중광호 ' { } ' 블록을 실행하기 위해 필요한 값을 제공하는 역할.' -> ' 기호는 매개 변수를 이용해서 중괄호 ' { } ' 를 실행한다는 뜻으로 해석하면 된다. 2-2. 함수적 인터페이스(@FunctionalInterface ) 람다식은 하나의 메소드를 ..
-
SimpleDateFormat 사용법과 특정 날짜 요일 구하기 [JAVA]JAVA/Java 2017. 4. 18. 16:43
SimpleDateFormat에서 쓸 수 있는 것들이다. 01. 사용법 Date today = new Date(); DateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");System.out,println(dateFormat .format(today));결과 : 년월일 형식으로 출력 or DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");System.out,println(dateFormat .format(today));결과 : 년월일 시-분-초 형식으로 출력 02. 특정 날짜 요일 구하기 String inputDate = "구하고 싶은 날짜";DateFormat dateFormat = n..
-
11. 스태틱 ( Static, final ) [JAVA]JAVA/Java 2016. 9. 16. 15:50
Static이란?- Class당 하나만 생성되는 변수, 객체(인스턴스)를 아무리 많이 만들어도 변수는 하나만 존재 - 객체가 생성될 때마다 새롭게 생성되는 멤버 변수와는 달리 초기에 한번만 생성되고 공유하여 사용가능 - Static 영역에서는 STACK / HEAP 영역으로 접근할 수 없다.- 반대로 STACK / HEAP 영역에서는 Static 영역으로 접근이 가능하다. public static String hi = "어서오세요"; 에서 static를 빼면 밑에서 오류가 나는것을 볼 수 있습니다. 그래서! 이렇게 Static 영역을 자유롭게 사용하기 위해 인스턴스화 시켜서 사용해주어야 합니다!! Static 상수static 변수는 값의 변경에 매우 취약합니다. 그래서 변경되지 말아야 할 상수들이면, f..
-
10. 인터페이스 ( Interface ) [JAVA]JAVA/Java 2016. 9. 16. 14:33
Interface란?- java에서 상당히 많이 쓰이는 방법. - 정의시 Class가 아닌 Interface로 구현합니다.- 구현체는 extends가 아닌 inplements로 만듦.- 추상클래스와 매우 흡사함. Interface의 정의를 알기보다 를 아는게 조금더 이해하는데 편할거 같습니다. Class가 아닌 Interface라고 따로 있습니다!! 저걸 누르고 인터페이스를 만드시면 되겠습니다. 그렇다면 실습을 한번 해볼까요? 인터페이스에는 저런식으로 SmartPhone() 라는것만 메소드 정의만 해놓고Galaxy라는 Class에서 Phone을 implements해주면 강제로 오버라이드 하라고 나옵니다.오버라이드를 해준후 Main 클래스에서 실행을 시켜보면 이런식으로 사용할 수 있습니다.정말 간단하지만 ..
-
09. 상속 ( Extends ) [JAVA]JAVA/Java 2016. 9. 14. 13:31
상속이란?- 한 클래스가 가진 Field / Method(생성자를 포함한) 에서 기능을 확장함 - Overriding을 통한 기능의 재정의도 가능합니다.(자세한건 Interface에서 알려드리겠습니다)- 상속 해주는 클래스를 Super Class / 상속해 확장된 클래스를 Sub Class라고 합니다.- Sub Class is a Super Class 라는 다형성도 가지고 있습니다. SuperBasketball이 Basketball을 상속 받아서 Override 하는 내용입니다.깜박하고 dunk에는 @Override 해주는걸 깜박한거 죄송합니다 ㅠㅠ @Override는 재정의를 한다는 뜻입니다.그리고 내용을 보기 쉽게 하기위해 '{ }' 를 저렇게 사용하였지만 다들 엔터로 띄어주시기 바라겠습니다^^ 결과..
-
08-2. 컬렉션 프레임워크 ( HashMap ) [JAVA]JAVA/Java 2016. 9. 14. 11:38
컬렉션 프레임 워크의Hasp Map에 대해 알려드리겠습니다. HaspMap이란?- ArrayList와 마찬가지로 HaspMap 클래스는 Map 인터페이스의 구현체 클래스입니다. - HaspMap의 경우 Generic이 두 개 존재하는데, 첫 번째는 Key, 두 번째는 Value를 의미합니다.예> Map 변수명 = new HashMap(); 여기서 는 무엇을 의미할까요?간단하게 Value는 Key에 의해 저장되거나 참조된다고 생각하시면 됩니다. 여기서 우리가 알아야 될것은 HaspMap은 중복 키를 지원하지 않습니다.그렇기 때문에 제일 처음적었던 "디럭스 슈프림 버거"는 출력되지 않는다는것을 볼 수 있습니다. 그런데 for문이 왜 저렇게 생겼지? 라고 생각하시는 분들도 계실텐데저건 향상된 for문이라고 f..
-
08-1. 컬렉션 프레임워크 ( Framework, Generic(제네릭), List ) [JAVA]JAVA/Java 2016. 9. 9. 16:46
컬렉션 프레임워크란?- 배열의 단점을 보완한 데이터를 저장하는 클래스들을 표화한 것입니다. - 다수의 데이터를 쉽게 처리할 수 있는 방법을 제공하는 클래스들로 구성되었습니다. Generic (제네릭)이란?List list = new ArrayList(); - List를 비롯한 모든 Collection Framework는 Generic을 지원합니다.- 으로 정희되는 것인데, 데이터를 저장할 형식을 의미합니다.- 위 코드는 String Type의 인터스턴스를 List 타입으로 저장하겠다 라는 의미.- Generic은 Reference Type만 지원한다. 즉, Primitive Type은 지원하지 않습니다.- 단! Primitive Type은 Reference Type인 Wrap..
-
07-2. 예외처리 ( Try ~ catch ) [JAVA]JAVA/Java 2016. 9. 8. 18:56
Try ~ catch란 ?Exception이 발생한 메소드를 직접처리, 사용자 정의 처리, 예외 객체 넘겨주는 처리가 있습니다. try 블록은 예외가 발생한 가능성이 있는 범위를 지정하는 블록이다. try 블록은 최소한 하나의 catch 블록이 있어야 하며, catch 블록은 try 블록 다음에 위치합니다. catch 블록의 매개변수는 예외 객체가 발생했을 때 참조하는 변수명으로 반드시java.lang.Throwble 클래스의 하위 클래스 타입으로 선언되어야 합니다.지정된 타입의 예외 객체가 발생하면 try 블록의 나머지 문장들은 수행되지 않고,자바 가상 머신은 발생한 예외 객체를 발생시키며 발생한 예외 객체 타입이 동일한 cathch블록을 수행. finally 블록이 사용되면 finally 블록의 내용..