전체 글

·Java
김영한의 실전 자바 - 기본편 강의 | 김영한 - 인프런김영한 | 실무에 필요한 자바 객체 지향의 핵심 개념을 예제 코드를 통해 쉽게 학습합니다., 국내 개발 분야 누적 수강생 1위, 제대로 만든 김영한의 실전 자바[사진][임베딩 영상]단순히 자바 문www.inflearn.com 접근 제어자자바는 `public`, `private`와 같은 접근 제어자(access modifier)를 제공한다. 접근 제어자를 사용하면 해당 클래스 외부에서 특정 필드나 메서드에 접근하는 것을 허용하거나 제한할 수 있다. 이런 접근 제어자가 왜 필요하는 지 예제를 통해 이유를 알아보자.   스피커 객체를 만들어보자.스피커는 음량을 높이고, 내리고, 현재 음량을 확인할 수 있는 단순한 기능을 제공한다. 요구사항 대로 스피커의..
·Java
자원이란?Java에서 자원(resource)이란 일반적으로 프로그램이 실행되는 동안 사용되는 외부의 한정된 시스템 자원을 의미한다. 자원은 다양한 형태로 존재하며, 적절히 관리하지 않으면 누수(resource leak)가 발생하거나 시스템 성능에 악영향을 미칠 수 있다. 따라서 자원을 다 쓰고 난 후에는 close와 같은 자원 해제를 해줘야 한다. Java 7 버전 이전에는 사용하고 난 자원을 반납하기 위해 `try-catch-finally` 구문을 사용했었다.  Java 7 버전부터 추가된 `try-with-resources` 구문은 `try` 블록에서 리소스를 선언하고 `try` 블록이 종료되면 자동으로 반납(close)해주는 구문이다.   자원의 예파일: 파일 읽기/쓰기와 관련된 `File` 또는 ..
·Java
Stream이란?Java의 Stream API는 일련의 데이터 흐름을 표준화된 방법으로 쉽게 처리할 수 있도록 지원하는 클래스의 집합(패키지)이다. 오라클 공식 문서에서는 Stream 패키지를 요소들의 Stream에 함수형 연산을 지원하는 클래스라고 정의하고 있다.  즉, Java의 Stream을 이용하면 일련의 데이터를 함수형 연산을 통해 표준화된 방법으로 쉽게 가공, 처리할 수 있다. `Stream`는 데이터 요소의 연속된 시퀀스로서, 데이터 소스를 기반으로 필터링, 변환, 집계 등의 작업을 처리할 수 있다.데이터 소스 변경 금지: Stream은 데이터 소스를 직접 수정하지 않는다.목적: 컬렉션과 달리 데이터 요소를 직접 관리하지 않고, 선언전 데이터 처리를 수행하기 위함이다.Stream의 구성 요소..
요구 사항요구사항은 과제 진행 요구 사항, 기능 요구 사항, 프로그래밍 요구 사항 세 가지로 구성되어 있었다.과제 진행 요구 사항기능을 구현하기 전 README.md에 구현할 기능 목록을 정리해 추가한다.Git의 커밋 단위는 앞 단계에서 README.md에 정리한 기능 목록 단위로 추가한다.Angular JS Git Commit Message Conventons를 참고해 커밋 메시지를 작성한다. 기능 요구 사항 구매자의 할인 혜택과 재고 상황을 고려하여 최종 결제 금액을 계산하고 안내하는 결제 시스템을 구현한다. 사용자가 입력한 상품의 가격과 수량을 기반으로 최종 결제 금액을 계산한다. 총구매액은 상품별 가격과 수량을 곱하여 계산하며, 프로모션 및 멤버십 할인 정책을 반영하여 최종 결제 금액을 산출한다...
·Java
static`static` 키워드는 주로 메모리 관리를 위해 사용되며, 변수나 메서드와 같은 멤버가 특정 클래스의 인스턴스에 속하는 것이 아니라 클래스 자체에 속함을 의미한다. 따라서 객체의 인스턴스를 생성하지 않고도 정적 멤버에 접근할 수 있다. 일반적으로 우리가 정의한 클래스는 메모리의 Static 영역에 생성되며, `new` 연산자를 통해 생성한 객체는 Heap 영역에 할당된다. Heap 영역에 생성된 객체는 Garbage Collector에 의해 자동으로 관리되지만, Static 영역에 생성된 데이터는 Garbage Collector의 관리 대상이 아니다.  Static 영역의 데이터는 프로그램이 종료될 때까지 메모리에 유지되며, 이는 모든 객체가 해당 데이터를 공유할 수 있는 장점을 제공한다. ..
[우아한테크코스] 프리코스 3주차 회고 코드 리뷰 피드백 요약public void run() { int purchaseCount = setPurchaseCount(); output.printLottoCount(purchaseCount); Lottos lottos = lottoService.generateLottos(purchaseCount); output.printLottoNumbers(lottos); WinningLotto winningLotto = setWinningLotto(); Console.close(); ResultCalculator resultCalculator = lottoService.calculateResult(lottos, winningLotto)..
G.H
공부 중!