분류 전체보기 24

Java Stream

Stream - 다양한 데이터 소스를 표준화된 방법으로 다루기 위한 것. 1. 자료의 대상과 관계 없이 동일한 연산 수행 - 배열, 컬렉션 대상 동일 연산 수행 - 일관성 있는 연산으로 자료의 처리를 쉽고 간단하게 2. 한 번 생성하고 사용한 스트림은 재사용 불가 - 자료에 대한 스트림을 생성하여 연산을 수행하면 스트림은 소모된다 - 다른 연산을 위해서는 새로운 스트림을 생성해야 한다 3. 스트림은 기존 자료 변경 불가 - 스트림 생성은 별도의 메모리 공간을 사용한다. - 기존 자료 변경 불가 4. 스트림 연산은 중간 연산과 최종 연산으로 구분된다. - 중간 연산은 여러개 적용 가능하다 filter() - 조건에 맞는 요소들만 남긴다 map() - 해당 데이터 중에서 특정 데이터만 꺼낸다 sorted()..

JAVA 2022.01.13

유스케이스(Usecase)

유스케이스 - 시스템이 액터에게 제공해야하는 기능 - 시스템의 요구사항이자 기능을 의미 유스케이스 다이어그램 - 사용자의 요구를 추출하고 분석하기 위해 사용 - 여기서 액터 -> 시스템 외부에서 시스템과 상호작용하는 사람 혹은 시스템을 의미 사용자 액터 1. 기능을 요구하는 대상 2. 시스템의 수행 결과를 통보받는 사용자 3. 기능을 사용하게 될 대상 - 시스템이 제공해야하는 기능인 유스케이스의 권한을 가지는 대상, 역할 시스템 액터 - 사용자 액터가 사용한 유스케이스를 처리해주는 외부 시스템 - 시스템의 기능 수행을 위해서 연동이 되는 또 다른 시스템 액터를 의미

시스템 구성 요소

1. 입력(Input) : 처리방법, 처리할 데이터, 조건을 시스템에 투입 하는것 2. 처리(Process) : 입력된 데이터를 처리 방법과 조건에 따라 처리하는것 3. 출력(Output) : 처리된 결과를 시스템에서 산출하는것 4. 제어(Control) : 자료를 입력하여 출력될 때 까지의 처리 과정이 올바르게 진행되는지 감독하는것 5. 피드백(Feedback) : 출력된 결과가 예정된 목표를 만족시키지 못할 경우 목표 달성을 위해 반복 처리 하는것 Maintenance는 유지 보수, 시스템 구성요소에는 포함되지 않는다.

Java 람다식, 람다함수

Java에서 함수형 프로그래밍을 구현하는 방식으로 자바8부터 지원한다. lambda : interface 구현 객체 생성 - interface로부터 물려받은 추상 메서드를 오버라이딩 - 익명 함수 인터페이스타입 변수 = (매개변수) -> {수행문} 함수의 이름과 반환형을 없애고 -> 사용 () -> {} // 기본형 (int i) -> {i + 1} i -> i + 1 //매개변수가 하나면 자료형과 () 생략 가능, 수행문이 한 문장이면 {} 생략 가능 (int i, int n) -> i + n (i, n) -> i + n //매개변수 타입이 같으면 타입 생략 가능 (int i, String s) -> i + s //타입이 다르면 생략 불가 i -> {return i + 1;} //수행문이 return문..

JAVA 2022.01.06

Java 내부(inner)클래스

class 클래스명{ 변수 생성자 메서드 class 클래스명2{} //클래스 안에 선언되는 내부클래스 } //외부클래스 내부클래스는 보통 현재 클래스 안에서만 사용할 목적으로 만드는 클래스이며 일종의 은닉화라고 볼 수 있다. 종류 (객체 생성 시점), 객체 생성 방법 인스턴스 내부클래스 (외부클래스 생성 후 생성) static변수, static메서드 선언 불가 외부클래스 변수 사용 가능 MemberInner outer = new MemberInner(); MemberInner.Inner inner = outer.new Inner(); - 한 줄로 합치면 MemberInner.Inner inner = new MemberInner().new Inner(); 정적(static) 내부 클래스 (외부클래스 상관 ..

JAVA 2022.01.06

Java 날짜와 시간 표현

날짜와 시간 표현에 사용되는 패키지, 클레스들 java.util.Date 클래스 - 날짜 표현, 객체간 날짜 장보를 주고 받을 때 사용 java.util.Calenda 클래스 - 달력 표현, 날짜 계산 작업시 사용 (String), 추상 클래스 java.time 패키지 * 변환에 사용되는 메서드들 parse - String 타입에서 -> 다른 타입으로 변환 Integer.parseInt("문자열") - 정수로 이루어진 문자열이라면 정수로 변환 (String -> int) SimpleDateFormat 클래스 - 날짜 형식 지정 클래스 SimpleDateFormat("패턴") 생성자를 사용하면 날짜를 해당 패턴으로 지정 SimpleDateFormat.parse("패턴") - 해당 패턴대로 날짜로 변환 (S..

JAVA 2021.12.27

Java java.util / Collection,List ,Set,Map인터페이스 / 주요 메서드 정리

Collection 인터페이스 boolean add(E e) : Collection에 객체 추가 void clear() : Collection의 모든 객체 제거 int size() : Collection에있는 요소의 개수를 반환 boolean remove(Object o) : Collection의 매개변수에 해당하는 인스턴스가 존재하면 제거 Map 인터페이스 Collection 하위 인터페이스 V put(K key,V value) : key에 해당하는 value값을 map에 저장 V get(K key) : key에 해당하는 value값을 반환 List 인터페이스 Collection 하위 인터페이스로 Collection 메서드들을 다 물려받음 ArrayList와 Vector 클래스 List 구현 클래스 A..

JAVA 2021.12.22

Java Class 클래스, java.util 패키지, 제네릭<>

Class 클래스 Class.forName()메서드로 동적 로딩(Dynamic Loding)하기 클래스명을 변수로 지정해 놓고 실행 시 해당 변수에 대입된 클래스가 실행될 수 있도록하는 Class에서 제공하는 Static메서드 어떤 클래스를 사용할 지 모를때 주로 사용하며 모든 클래스를 다 올리지 않고 필요할 때 꺼내쓸 수 있다는 장점이있다. ex) String className = "classex.Person" Class pClass = Class.forName(className); java.util 패키지(https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/package-summary.html) 자바 개발에 필요한 도구성 클래..

JAVA 2021.12.22