Java
-
< Java > StringJava 2023. 8. 25. 20:42
String 이란? String 은 문자열이라고 불리는 클래스이다. 여기 클래스 라는 것을 명심하자. String 은 클래스이기 때문에 기본자료형에 속하지 않는다는 것도 명심하자. 기본적으로 자주 사용하게 될 클래스인 String은 클래스 객체이지만 new 선언을 하여 인스턴스를 생성하지 않아도 사용이 가능하다. String 클래스만에 독특한 특징이다 우선 String 생성자 에 종류에 대해 알아보겠다. String 생성자 생성자 설명 String 디폴트 생성자. 문자열이 없는 객체를 생성한다. String(String original) 다른 String 객체를 이용하여 문자열 생성한다. String(char value[]) 문자 배열을 이용한 객체 생성한다. String(char value[], int..
-
<Java> Stream OptionalJava 2023. 8. 25. 14:03
Optional 스트림 종류의 하나로써 특정 타입의 스트림 요소의 결과를 받아서 집계, 요소 존재여부, 요소가 없을 시의 처리 여부 등을 consumer(람다) 를 통해 정의 할 수 있는 클래스입니다. 재밌는 것은, 만약 컬렉션의 요소가 동적으로 추가 되거나 삭제 될 때, 추가 시에는 상관없지만 삭제되어 아무것도 존재하지 않는 상태에서 요소를 get하게되면 예외가 발생할 수 있는데, 이때를 대비해 메서드를 제공해서 에외를 발생하지 않으면서도 다음 처리 작업을 할 수 있도록 정의 되어있습니다. Optional Method 대표적인 메서드만 알아보겠습니다. isPresent() : 요소가 존재하는지의 여부를 리턴 orElse() : 요소가 없는 경우, 즉 집계함수 없는 경우를 대비, default 값을 정의..
-
< Java > StreamJava 2023. 8. 25. 13:04
Stream 이란? 컬랙션 등의 내부에 있는 요소(element)를 처리하는 방식을 주입해서 그 결과를 빠르게 그리고 쉽게 도출하여 원하는 다음 요소로 변경해서 최종적으로 결과 값을 원하는 연산로직에 쉽게 도출하도록 만드는 요소이다. 매우 다양한 형태가 존재하며 모두 외울 필요는 없다. 또한 이 데이터를 도출할 때는 내부적으로 콜백 형태의 함수형 인터페이스를 받도록 파라미터가 정의 되었기 때문에 반드시 람다를 이용해야만 사용가능합니다. 아래는 코드로 보는 간단한 Stream의 예제입니다. @AllArgsConstructor @NoArgsConstructor @Data class FullStScore{ // 우리반 학생 점수를 관리하는 클래스 private String name; private int sc..
-
< Java > lamdaJava 2023. 8. 24. 20:46
lamda 란? 람다 함수는 말 그대로 함수(function) 이다. (메서드가 아니라는 뜻) 이 함수는 자바 스크립트에서 파급되었고, 요즘은 거의 모든 언어에서 사용한다. 익명 메서드를 구현하는 형태라고 생각하면 편하다. 익명객체 이름이 없는 객체를 뜻하듯이 함수명이 없이 선언된 함수와 특정 데이터 영역을 이 함수를 통해서 구현하게끔 하는 형태이다. 자바에서도 람다를 지원하는데, 규칙이 매우 엄격합니다. 아래는 람다 표현식에 규칙입니다. 모든 람다 함수는 인터페이스만 가능하다. 람다 함수가 되는 함수를 가진 인터페이스는 무조건 람다 함수 하나만 보유해야합니다.(반드시) 람다 함수는 인터페이스에서 선언되었기 때문에, 당연히 body 가 없습니다. 따라서 구현 시에 body를 추가합니다. FunctionI..