인프런(32)
-
stream
스트림(Stream) 자바 8에서 추가한 스트림은 람다식을 활용할 수 있는 기술 중 하나입니다 자바 8 이전에는 배열 또는 컬랙션 인스턴스를 다루는 방법은 for 또는 foreach은 돌리면서 하나씩 꺼내서 다루는 방법이었습니다 간단한 경우라면 상관이 없지만 로직이 복잡해질수록 코드의 양이 많아져 여러 로직이 섞이게 되고 메서드를 나눌경우 루프를 여러 번 도는 경우가 발생합니다. 스트림은 데이터의 흐름입니다 배열또는 컬렉션 인스턴스에 함수 여러 개를 조합하여 원하는 결과를 필터링하고 가공된 결과를 얻을 수 있습니다 또한 람다식을 이용하여 코드의 양을 줄이고 간결하게 표현할 수 있습니다 즉 배열과 컬렉션을 함수형으로 처리할 수 있습니다. 또 하나의 장점은 간단하게 병렬처리가 가능하다는 점과 하나의 작업을 ..
2020.04.28 -
Collection
컬렉션 프레임워크(Java Collection Framework(JCF)) 컬렉션 이란 사전적 의미로 요소를 수집해서 저장하는 것을 의미합니다. 자바 컬렉션은 객체를 수집해서 저장하는 역할을 하며 자바 컬렉션 프레임워크는 몇 가지 인터페이스를 통해서 다양한 컬렉션 클래스를 이용할 수 있도록 할 수 있으며. 컬렉션 프레임워크의 주요 인터페이스로는 List, Set, Map이 있습니다. 이 인터페이스들은 컬렉션을 사용하는 방법을 정의하는 것인데 다음은 인터페이스로 사용 가능한 컬렉션 클래스를 보여줍니다. 위의 사진을 보면 List와 Set은 객체 추가,삭제 검색하는 방법에 많은 공통점이 있기 때문에 인터베이스들의 공통된 메소들만 모아 Collection인터 페이스로 정의해 두고 있습니다 Map은 키와 같은 ..
2020.04.28 -
열거형
열거형 열거형 이란 enum 키워드를 사용하여 정의하며 열거, 목록을 뜻하는 enumeration에서 따왔습니다. enum 열거형 이름열거형은 정의만 해서는 사용을 할 수가 없습니다. 따라서 열거형도 변수로 선언해서 사용합니다. 열거형에는 몇 가지 제약이 존재합니다. 다른 클래스를 상속받을 수 없으며, 객체의 생성하거나 변경이 불가능하고 값의 재할당이 불가와 같은 제약사항이 존재하며 보통 메소드는 생성하지 않습니다. 추가로 열거형을 사용할 때 멤버 변수에 public, static 같은 키워드가 붙는 것은 동일합니다 그리고 사용할 상수는 대문자로 해주는 것이 원칙이며 모델 타입을 기술하거나 변하지 않는 요일 같은 것을 넣을 때 사용합니다. 열거형을 사용함으로써의 장점입니다 문자열과 비교해 IDE의 적극적..
2020.04.27 -
내부 클래스
내부 클래스 내부 클래스란 클래스 내에 선언된 클래스입니다. 여기서 클래스에 다른 클래스를 선언하는 이유는 두 클래스가 서로 긴밀한 관계에 있기 때문입니다. 그렇기에 내부 클래스에서 외부 클래스의 멤버들을 쉽게 접근할 수 있고 코드의 복잡성을 줄여줍니다. //외부 클래스 Class A{ // ... //내부 클래스 Class b{ // ... } } 위의 코드에서 B는 A의 내부 클래스가 되고 A는 B의 바깥에 있는 외부클래스가 됩니다 이때 내부 클래스인 B는 외부 클래스인 A를 제외하고는 다른 클래스에서 사용하지 않는 것이 좋습니다.(외부 클래스가 아닌 다른 클래스에서 내부 클래스에 접근해야 한다면 내부 클래스로 선언해서는 안 되는 클래스를 내부 클래스에 선언한 것과 같기때문) 내부 클래스의 종류와 특..
2020.04.27 -
인터페이스
인터페이스 인터 페이스의 사전적 의미로는 하나의 시스템을 구성하는 2개의 구성 요소(하드웨어, 소프트웨어) 또는 2개의 시스템이 상호작용할 수 있도록 접속되는 경계(boundary), 이 경계에서 상호 접속하기 위한 하드웨어, 소프트웨어, 조건, 규약 등을 포괄적으로 가리키는 말을 의미합니다. 자바에서 인터페이스는 여러 가지 역할로 사용한다. 개발자 사이의 코드 규약을 정하고 여러 구현체에서 공통적인 부분을 추상화합니다.(다형성) 먼저 자바에서 인터페이스의 기본 개념을 알아보면 자바 인터페이스는 기본적으로 추상 메서드의 모음입니다. 추상 메서드는 아래와 같이 구현부가 없는 메서드를 말합니다. package Animal; public interface LandAnimalInterface { public v..
2020.04.27 -
추상화
추상화 추상화란 여러 가지 사물이나 개념에서 공통적 되는 속성 따위를 추출하여 파악하는 작용입니다. 추상화를 사용하는 이유는 코드의 재사용성, 가독성을 높이고 생상성을 증가시키며 에러의 감소, 유지보수에 있어 많은 시간을 줄일 수 있습니다. 추상화의 예시 추상화의 종류는 여러가지가 있습니다. 변수와 상수의 추상화 package java01_01; public class javatest2 { int value = 1; static final double PI = 3.14; static final int Week = 7; } 위의 코드는 단순히 상수와 변수를 선언해주는 것입니다 변수와 상수를 사용하여 어떠한 값의 특징을 뽑아내었다고 할 수 있습니다 예를 들어 위의 상수에 Week는 다들 알다시피 주일입니다 ..
2020.04.27