본문 바로가기
반응형

Language45

[JAVA] 스트림(Stream) 연산 스트림(Stream) ✔자료의 대상과 관계없이 동일한 연산을 수행 - 배열, 컬렉션을 대상으로 동일한 연산을 수행 -일관성 있는 연산으로 자료의 처리를 쉽고 간단하게 한다. ✔한번 생성하고 사용한 스트림은 재사용할 수 없다. -자료에 대한 스트림을 생성하여 연산을 수행하며 스트림은 소모된다. -다른 연산을 위해서는 기존 자료를 변경하지 않는다. ✔스트림 연산은 기존 자료를 변경하지 않는다. -자료에 대한 스트림을 생성하면 별도의 메모리 공간을 사용하므로 기존 자료를 변경하지 않는다. ✔스트림 연산을 중간 연산과 최종 연산으로 구분된다. - 스트림에 대한 중간 연산은 여러개 적용될 수 있지만 최종 연산은 마지막에 한번만 적용된다. -최종연산이 호출되어야 중간 연산의 결과가 모두 적용된다. -> 지연 연산 .. 2020. 7. 2.
[JAVA]Class 클래스 Class 클래스 자바의 모든 클래스와 인터페이스는 컴파일 후 class 파일로 생성된다. class 파일에는 객체의 정보(멤버 변수, 메서드, 생성자 등)가 포함되어 있다. Class 클래스는 컴파일된 class 파일에서 객체의 정보를 가져올 수 있다. [실습] 클래스 정의하기 public class Person { //필드(멤버 변수)를 정의 private String name;//이름 private int age;//나이 //디폴트 생성자 public Person() {} //이름만 입력받는 생성자 public Person(String name) { this.name = name; } //이름과 나이를 입력받는 생성자를 정의 public Person(String name, int age) { thi.. 2020. 7. 1.
[JAVA] 람다식(lambda expression) 람다식 자바에서 함수형 프로그래밍(functional programming)을 구현하는 방식 자바 8부터 지원 클래스를 생성하지 않고 함수의 호출만으로 기능을 수행 [참고] 함수형 프로그래밍 순수 함수(pure function)을 구현하고 호출함으로써 외부 자료에 부수적인 영향을 주지 않고 매개 변수만을 사용하도록 만든 함수 함수를 기반으로 구현 입력받은 자료를 기반으로 수행되고 외부에 영향을 미치지 않으므로 병렬처리 등이 가능하다. 안정적인 확장성 있는 프로그래밍 방식 람다식 구현 익명함수를 만든다 매개 변수와 매개 변수를 활용한 실행문으로 구현 (매개변수) -> {실행문;} [두 수를 입력 받아 더하는 add() 함수 예] int add(int x, int y){ return x+y } 🔻 (int .. 2020. 7. 1.
[JAVA]내부클래스 내부클래스: 클래스 내부에 선언한 클래스로 클래스 내부에서만 사용할 목적으로 만드는 클래스이다. //문법 class Out{ //외부클래스 class In{ //내부클래스 } } 내부클래스의 종류 [변수 측면에서] class ABC{ int n1;//인스턴스 변수 static int n2; //정적변수 public void abc(){ int n3; //지역변수 } } [클래스 측면에서] class ABC{//외부클래스 class In{//인스턴스 내부클래스 - static이 붙지않음 static class SIn{//정적 내부 클래스 - static이 붙음 } } public void abc(){//메소드 안에도 클래스가 들어갈 수 있다. class Local{//지역 내부 클래스 } } } //최상위.. 2020. 7. 1.
[JAVA]StringBuffer VS StirngBuilder 프로그램을 만들다 보면 문자열을 변경하거나 연결해야 할 때가 많다. 그런데 String클래스는 한번 생성되면 그 내부의 문자열이 변경되지 않기 때문에, String 클래스를 사용하여 문자열을 계속 연결하거나 변경하는 프로그램을 작성하면 메모리 낭비가 많다. 이 문제를 해결하는 것이 바로 StringBuffer와 StringBuilder 클래스이다. StringBuffer와 StringBuilder는 내부에 변경 가능한(final이 아닌) char[] 변수로 가지고 있다. 이 두 클래스를 이용하여 문자열을 연결하면 기존에 사용하던 char[] 배열이 확장되므로 추가 메모리를 사용하지 않는다. 따라서 문자열을 연결하거나 변경할 경우 두 클래스 중 하나를 사용하면 된다. 두 클래스의 차이는 여러작업(스레드)이.. 2020. 7. 1.
[JAVA]String 클래스 String 클래스 자바는 문자열을 사용할 수 있도록 Stirng 클래스를 제공한다. Stirng을 사용할 때 문자열을 생성자의 매개변수로 하여 생성하는 방식과 이미 생성된 문자열 상수를 가리키는 방식이 있다. [예시] Stirng str1 = new String("abc"); Stirng str2 = "def"; 2020. 7. 1.
반응형