리터럴 문자열을 이용한 선언new 연산자를 이용한 선언문자열을 String 객체로 힙 영역에 생성되고, 변수는 String 객체를 참조하는 번지 값을 저장하여 스택 영역에 생성된다라는 표현이 더 알맞다.그러나 일반적으로 전자의 표현을 사용한다고 한다.문자열 리터럴로 생
while문 안에 try-catch 구문을 사용할 때 Exception이 발생해도 break를 만나기 전까지 while문이 실행된다는 이야기를 들었다...놀라서 친구들한테 물어보니 나만 몰랐다.................출력 결과 ==============1fina
재귀함수란 자기 자신을 다시 호출하는 함수를 말한다.return 값으로 자기 자신에 대한 연산을 수행한다.재귀함수가 종료되는 시점을 작성하지 않으면 무한 루프에 빠지게 된다.메모리 스택 영역을 사용하므로 스택오버플로우가 발생할 수 있다.예시로 팩토리얼 함수를 작성해보았
운영체제에서 실행 중인 하나의 어플리케이션사용자가 애플리케이션을 실행하면 운영체제로부터 필요한 메모리를 할당받아 애플리케이션의 코드를 실행하는것을 의미한다.프로세스 내부에서의 코드의 실행 흐름두 가지 이상의 작업을 동시에 처리하는 것멀티 프로세스: 워드로 문서 작업하면
스레드 객체를 생성하고 start() 메소드를 호출했다고 해서 스레드가 바로 실행되는 것이 아니라 실행 대기 상태가 되는 것이다.실행 대기 상태란, 언제든지 실행할 준비가 되어있는 상태를 의미한다.운영체제는 실행 대기 상태인 스레드 중 하나를 선택하여 실행 상태로 만든
LIFO는 Last In First Out 의 약자로 나중에 넣은 객체가 먼저 빠져나가는 자료구조를 말한다.즉, 입구와 출구가 하나로 통일된 구조이다. FIFO는 First In First Out 의 약자로 먼저 넣은 객체가 먼저 빠져나가는 자료구조를 말한다.입구와 출
프로그램을 개발하면서 변화하는 요구사항에 대처해야한다.유동적으로 변화하는 요구사항에 어떻게 대처해야할까?엔지니어링적인 비용이 가장 최소화되면서 쉽게 구현이 가능하고 유지보수가 쉬워야한다.동작 파라미터화를 이용하면 변화하는 요구사항에 효과적으로 대응할 수 있다.아직은 어
List의 모든 요소를 삭제한다.map에 String, List<String> 형식으로 값을 넣을 때 List객체 생성에 대한 공부\[]list1: c, dlist2: c, dlist를 clear()로 값을 다 지웠다고 생각하고 다른 객체로 바라본다면 경기도 오산
메소드로 전달할 수 있는 익명 함수를 단순화한 것이다.익명 보통의 메소드와 달리 이름이 없으므로 익명이라 표현한다. 구현해야하는 코드에 대한 걱정이 줄어든다.함수 메소드처럼 특정 클래스에 종속되지 않으므로 함수라고 부른다. 하지만 메소드처럼 파라미터 리스트, 바
람다로 함수형 인터페이스의 인스턴스를 만들 수 있다고 했다. 람다 표현식 자체에는 람다가 어떤 함수형 인터페이스를 구현하는지의 정보가 포함되어 있지 않다. 따라서 람다를 더 잘 이해하기 위해 람다의 실제 형식을 파악해야한다.람다가 사용되는 콘텍스트를 이용해 람다의 형식
Stream API? 스트림은 자바 8 API에 추가된 기능이다. 스트림을 이용하면 선언형으로 컬렉션 데이터를 처리할 수 있다. 일단은 스트림이 데이터 컬렉션 반복을 멋지게 처리하는 기능이라고 생각하자. 또한 스트림을 이용하면 멀티스레드 코드를 구현하지 않아도 데이터를
✏ 스트림 API가 지원하는 다양한 연산을 살펴본다.스트림의 요소를 선택하는 방법, 즉 프레디케이트 필터링 방법과 고유 요소만 필터링하는 방법을 배운다.스트림 인터페이스는 filter 메소드를 지원한다. filter 메소드는 프레디케이트를 인수로 받아서 프레디케이트와
숫자형 스트림 메뉴의 칼로리 합계를 구하려면 어떻게 해야할까? 위 코드에는 박싱 비용이 숨어있다. 내부적으로 합계를 계산하기 전에 Integer를 기본형으로 언박싱해야한다. 위 코드처럼 sum 메소드를 호출하면 좋지 않을까? 그러나 map 메소드가 Stream<T>를
✏ 학습 목표 Collector 인터페이스에 정의된 다양한 요소 누적 방식에 대해 알아본다.컬렉션, 컬렉터, collect를 헷갈리지 않도록 주의해야 한다.collect와 컬렉터로 구현할 수 있는 질의 예제를 먼저 살펴보겠다.통화별로 트랜잭션을 그룹화한 다음에 해당 통