[ java ] Immutable Object(불변 객체)
·
JAVA
📌 Immutable Obejct(불변 객체) 객체 지향 프로그래밍에 있어서 불변객체(immutable object)는 생성 후 그 상태를 바꿀 수 없는 객체를 말한다-> 결론적으로 불변 객체는 값을 변경할 수 없는 객체를 의미하며, read-only 메소드 만을 제공한다. 재할당은 가능하지만, 한번 할당하면 내부 상태는 바꿀 수 없다.  -> Java에서는 String, Integer가 대표적인 예이다.   📍단점 시간 복잡도 관점에서 사용시 주의해야할 필요가 있다. 불변 객체는 값이 변경될 때마다 새로운 객체를 생성하기 때문에 메모리 사용량이 증가한다.가변 객체는 내부 필드 값만 수정하면 되지만, 불변 객체는 항상 새로운 객체를 만들어야 해서 메모리 효율이 떨어진다. String은 불변 객체이기 ..
[ java ] Stream 기본 개념
·
JAVA
📌 Stream 이란 ? stream은 데이터의 흐름을 뜻한다. Stream은 데이터를 순차적 또는 병렬적으로 처리하는 방식이며, 데이터의 처리에 초점을 둔다. 여기서 데이터의 처리란 원하는 데이터만 처리할 수 있도록 filter 역할을 해주는 연산자들을 뜻한다고 생각하면 된다. 데이터의 소스를 추상화 하고 데이터를 다루는데 유용한 메서드를 정의해 놓은 것🔻 Stream의 연산 Stream에는 중간 연산자,최종 연산자 2가지 연산이 존재한다. 중간 연산자 : filter(), map(), sorted() 등과 같이 데이터를 처리하는 역할한다. filter(Predicate) : 조건에 맞는 요소만 필터링(= 조건에 안맞는 요소 버림)map(Function) : 요소를 변환 (예: String을 Int..