일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 패스트캠퍼스
- 리눅스
- linux
- 직장인인강
- javabasic
- 데이터베이스
- 자바기본
- java기초
- 디자인
- String
- 자바연습문제
- DesignPattern
- 자바
- ncs
- java
- 한번에끝내는JavaSpring웹개발마스터초격차패키지Online강의
- 패캠챌린지
- 자바예제
- Spring
- 직장인자기계발
- 재택근무
- 웹
- 국비
- js
- 패스트캠퍼스후기
- 자바기초
- 디자인패턴
- 한번에끝내는JavaSpring웹개발마스터초격차패키지Online
- 스프링
- DB
- Today
- Total
목록Flame In Frozen's Library (239)
FIF's 코딩팩토리

연산 수행에 대한 구현을 할 수 있는 reduce() 메서드 BinaryOperator BinaryOperator는 같은 타입의 파라미터 2개를 받아 결과값을 리턴하는 functional interface다. 주로 람다와 메서드 참조를 위해 사용된다. 그냥 식을 적는 것보다 가독성이 좋기 때문에 적극 활용하는 것이 좋다. 또한, BiFunction을 상속하는 인터페이스로서, apply(T t, U u) 메서드를 호출해서 function을 적용한다. IntBinaryOperator IntBinaryOperator는 int 타입의 파라미터 2개를 받아 int 타입의 결과값을 리턴한다. 이름에서 알 수 있듯이 BinaryOperator를 상속하며, applyAsInt(int left, int right)는 내..

스트림(stream) 자바에서는 파일이나 콘솔의 입출력을 직접 다루지 않고, 스트림(stream)이라는 흐름을 통해 다룬다. 스트림(stream)이란 실제의 입력이나 출력이 표현된 데이터의 이상화된 흐름을 의미한다. 즉, 스트림은 운영체제에 의해 생성되는 가상의 연결 고리를 의미하며, 중간 매개자 역할을 한다. 입출력 스트림 스트림은 한 방향으로만 통신할 수 있으므로, 입력과 출력을 동시에 처리할 수는 없다. 따라서 스트림은 사용 목적에 따라 입력 스트림과 출력 스트림으로 구분된다. 자바에서는 java.io 패키지를 통해 InputStream과 OutputStream 클래스를 별도로 제공하고 있다. 즉, 자바에서의 스트림 생성이란 이러한 스트림 클래스 타입의 인스턴스를 생성한다는 의미이다. InputSt..

함수형 프로그래밍과 람다식 문법 자바는 객체 지향 프로그래밍으로써 기능을 수행하긴 위해서는 객체를 만들고 그 객체 내부에 멤버 변수를 선언하고 기능을 수행하는 메서드를 구현한다. 자바 8부터 함수형 프로그래밍 방식을 지원하고 이를 람다식이라 한다. 함수의 구현과 호출만으로 프로그래밍이 수행되는 방식이다. 함수형 프로그래밍(Functional Programming: FP)함수를 기반으로 하는 프로그래밍이고 입력받는 자료 이외에 외부 자료를 사용하지 않아 여려 자료가 동시에 수행되는 병렬처리가 가능하다. 함수형 프로그래밍은 함수의 기능이 자료에 독립적임을 보장한다.. 이는 동일한 자료에 대해 동일한 결과를 보장하고, 다양한 자료에 대해 같은 기능을 수행할 수 있다. 함수형 프로그래밍은 순수함수(pure fu..

여러 내부 클래스의 정의와 유형 내부 클래스란(Inner Class)? 클래스 내부에 선언한 클래스로 이 클래스를 감싸고 있는 외부 클래스와 밀접한 연관이 있는 경우가 많고, 다른 외부 클래스에서 사용할 일이 거의 없는 경우에 내부 클래스로 선언해서 사용한다. 중첩 클래스라고도 한다. 내부 클래스의 종류로는 인스턴스 내부 클래스, 정적(static) 내부 클래스, 지역(local) 내부 클래스, 익명(anonymous) 내부 클래스 가 있다. 인스턴스 내부 클래스 내부적으로 사용할 클래스를 선언하는것을 말한다. (private으로 선언하는 것을 권장) 외부 클래스가 생성된 후 생성된다. ( 정적 내부 클래스와 다름 ) private이 아닌 내부 클래스는 다른 외부 클래스에서 생성할 수 있다. 정적 내부 ..

자바에서 제공되는 자료구조 구현 클래스들 - 컬렉션 프레임 워크 컬렉션 프레임 워크란? 프로그램 구현에 필요한 자료구조(Data Structure)를 구현해 놓은 JDK 라이브러리이다. 컬렉션 프레임 워크는 java.util 패키지에 구현되어 있다. 개발에 소요되는 시간을 절약하면서 최적화 된 알고리즘을 사용할 수 있다. 여러 구현 클래스와 인터페이스의 활용에 대한 이해가 필요하다. Collection 인터페이스 하나의 객체를 관리하기 위한 메서드가 선언된 인터페이스이다. 하위에 List와 Set 인터페이스가 있다. List 인터페이스 객체를 순서에 따라 저장하고 관리하는데 필요한 메서드가 선언된 인터페이스이다. 자료구조 리스트 (배열, 연결리스트)의 구현을 위한 인터페이스이다. List는 중복을 허용한..

무엇이든 담을 수 있는 제네릭(Generic) 자바에서 제네릭(generic)이란 데이터의 타입(data type)을 일반화한다(generalize)는 것을 의미한다. 제네릭은 클래스나 메소드에서 사용할 내부 데이터 타입을 컴파일 시에 미리 지정하는 방법이다 이렇게 컴파일 시에 미리 타입 검사(type check)를 수행하면 다음과 같은 장점을 가진다 1. 클래스나 메소드 내부에서 사용되는 객체의 타입 안정성을 높일 수 있다. 2. 반환값에 대한 타입 변환 및 타입 검사에 들어가는 노력을 줄일 수 있다. JDK 1.5 이전에서는 여러 타입을 사용하는 대부분의 클래스나 메소드에서 인수나 반환값으로 Object 타입을 사용했다. 하지만 이 경우에는 반환된 Object 객체를 다시 원하는 타입으로 타입 변환해..

연결 리스트(Linked List) 연결 리스트(Linked List)란 유연하게 크기 변경이 가능한 자료구조를 말한다 데이터를 자유롭게 삽입 삭제 할수 있다는 장점이 있다. 집합의 단위를 리스트(List), 각 요소의 단위를 노드(Node)라고 한다. 연결 리스트(Linked List)의 구성 리스트는 노드와 노드가 연결(Link)된 형태로 되어 있다. 각 노드는 데이터의 내용을 담는 부분과 다음 노드의 주소값을 갖는 포인터 변수로 구성되어 있다. 리스트의 첫번째 노드를 헤드(Head) 마지막 노드를 테일(Tail)이라고 한다. 단순 연결 리스트(Singly Linked List)는 리스트의 가장 기본적인 형태이다. 다음 사진과 같은 형태이며, 테일의 포인터 변수가 NULL을 가리키는게 특징이다. 배열..

여러가지 자료구조에 대해 알아보자. 자료구조란 무엇인가? 프로그램에서 사용할 많은 데이타를 메모리 상에서 관리하는 여러 구현방법들이다. 효율적인 자료구조가 성능 좋은 알고리즘의 기반이 된다. 자료의 효율적인 관리는 프로그램의 수행속도와 밀접한 관련이 있다. 여러 자료 구조 중에서 구현하려는 프로그램에 맞는 최적의 자료구조를 활용해야 하므로 자료구조에 대한 이해가 중요하다. 자료구조에는 어떤것들이 있나? 배열 (Array) : 선형으로 자료를 관리, 정해진 크기의 메모리를 먼저 할당받아 사용하고, 자료의 물리적 위치와 논리적 위치가 같다. 연결 리스트 (LinkedList) : 선형으로 자료를 관리, 자료가 추가될 때마다 메모리를 할당 받고, 자료는 링크로 연결됨. 자료의 물리적 위치와 논리적 위치가 다를..