본문 바로가기

JAVA170

[Java] Ch.24 입출력 스트림 자바의 입출력 스트림 자바에서 스트림이란 자료 흐름이 물의 흐름과 같다는 의미에서 사용됨 처음에는 자바 입출력 모델에서 발생하는 데이터 입출력을 스트림이라고 했는데, 컬렉션 객체를 다루기 위한 스트림이 자바 8에서 추가되면서, 기존의 입출력 모델에서 발생하는 스트림을 입출력 스트림이라고 구분하여 부르게 되었음 자바 입출력 모델 파일에서의 입출력 키보드와 모니터의 입출력 그래픽카드, 사운드카드의 입출력 프린터, 팩스와 같은 출력 장치의 입출력 인터넷으로 연결되어 있는 서버 또는 클라이언트의 입출력 입출력 장치는 매우 다양하기 때문에 장치에 따라 입출력 부분을 일일이 다르게 구현하면 프로그램 호환성과 생산성이 떨어질 수 밖에 없음 그래서 자바는 입출력 장치를 구분하지 않고 일관성 있게 프로그램을 구현할 수 .. 2023. 10. 26.
[Java] Ch.23 스트림 스트림 데이터의 흐름 데이터가 여러 개가 있어야 흐름을 만들 수 있기 때문에 스트림 데이터 소스로는 컬렉션, 배열 등이 주로 사용딤 스트림 데이터는 데이터 소스에서 추출한 연속적인 데이터 스트림은 이런 연속적인 데이터의 흐름을 반복적으로 처리하는 기능 스트림의 특징 스트림 연산은 기존 자료를 변경하지 않음 스트림 연산은 중간 연산과 최종 연산으로 구분됨 한 번 생성하고 사용한 스트림은 재사용 불가 스트림은 java.util.Stream 패키지의 멤버이며, BaseStream 인터페이스를 부모로 하여 4 종류의 스트림을 제공함 중간 연산, 최종 연산 중간 연산 filter() : 조건에 맞는 요소 추출 map() : 조건에 맞는 요소 변환 sorted() : 정렬 최종 연산 스트림의 자료를 소모하면서 연산.. 2023. 10. 26.
[Java] Ch.22 내부 클래스, 람다식 내부 클래스 자바에서는 클래스 안에 클래스를 선언할 수 있음 안쪽에 있는 클래스 : 중첩 클래스(nested class) 중첩 클래스를 가지고 있는 클래스 : 외부 클래스(outer class) 중첩 클래스 구분 static 중첩 클래스 : 중첩이지만 내부 클래스는 아님 non-static 중첩 클래스 : 내부 클래스(inner class)라고 부름 멤버 내부 클래스(member inner class) 지역 내부 클래스(local inner class) 익명 내부 클래스(anonymous inner class) // 변수 class MyClass { static int n1;// 스태틱 변수 int n2;// 멤버 변수 (인스턴스 변수) public void myFunc() { int n3;// 지역 변.. 2023. 10. 25.
[Java] Ch.21 컬렉션 프레임워크 자료구조 대량의 데이터를 효율적으로 관리하는 매커니즘 배열 배열은 크기가 고정되어 있어 데이터를 추가하거나 삭제할 수 없음 리스트 리스트는 원소가 원소를 가리켜서 관리하는 자료구조 데이터가 추가되거나 삭제될 때 연결하는 정보만 바꾸면 쉽게 추가, 삭제 가능 스택 스택은 한 쪽 끝에서만 자료를 넣거나 뺄 수 있는 선형 구조(Last In First Out; LIFO)로 되어 있음 자료를 넣는 것을 '밀어넣는다'하여 푸시(push)라 하고, 반대로 넣어둔 자료를 꺼내는 것을 팝(pop)이라 하는데, 이 때 가장 최근에 푸시한 자료부터 나오게 됨 큐 큐는 먼저 집어넣은 데이터가 먼저 나오는 FIFO(First In First Out) 구조로 저장하는 자료구조 트리구조 부모 노드 밑에 여러 자식 노드가 연결되고.. 2023. 10. 25.
[IntelliJ] 콘솔 한글 깨짐 1. Settings - File Encodings를 UTF-8로 변경 (Ctrl + Alt + S) Global Encodings, Project Encoding, Properties Files를 UTF-8로 변경 2. VM Options 편집 Help - Edit Custom VM Options -Dfile.encoding=UTF-8 -Dconsole.encoding=UTF-8 맨 아래에 추가 후 IntelliJ 재시작 https://velog.io/@hsjung2015/Intellij-or-Eclipse%EC%BD%98%EC%86%94%EC%B0%BD%EC%97%90-%ED%95%9C%EA%B8%80%EC%9D%B4-%EA%B9%A8%EC%A0%B8%EC%84%9C-%EB%82%98%EC%98%AC.. 2023. 10. 24.
[IntelliJ] 자바 버전 변경 방법 (JDK 11 → JDK 17) 자바 버전 확인 방법 (cmd 명령어) java -version 1. 오라클 자바 다운로드 페이지에서 원하는 JDK를 운영체제에 맞게 다운받기 https://www.oracle.com/java/technologies/downloads/ 2. 내 pc → 우클릭 → 속성 → 시스템 정보 → 고급 시스템 설정 → 고급 탭 → 환경 변수 3. 기존에 다른 버전의 JDK가 설치되어 있었다면 시스템 변수에 JAVA_HOME이 있을 것 4. 편집 → 설치한 JDK 17 경로를 변수 값에 작성 5. IntelliJ 환경 설정 [File] - [Project Structure] - [Project]에서 SDK 버전을 17로 바꾸기 아래 'Language Level'도 17로 바꾸기 [File] - [Project St.. 2023. 10. 24.