본문 바로가기

Java/Java-basic21

[Java Study 13주차] I/O 본 포스팅은 백기선님이 진행하시는 자바 스터디 를 진행하며 혼자 공부하고 이해한 내용을 바탕으로 정리한 글입니다. 오류나 지적 사항이 있다면 댓글로 알려주시면 감사하겠습니다. 스트림(Stream) / 버퍼(Buffer) / 채널(Channel) 기반의 I/O 스트림(Stream) I/O란 입력(Input)과 출력(Output)을 말한다. 데이터를 밖으로 발신하는 것이 출력, 밖으로부터 데이터를 수신하는 것이 입력이다. 이때 안과 밖의 기준은 JVM이다. 입출력을 위해 자바는 java.io 패키지를 제공한다. 출처: https://techvidvan.com/tutorials/java-file-handling/ 입출력을 수행하려면 안과 밖으로 데이터가 이동할 통로가 필요한데, 이를 스트림(Stream)이라고.. 2021. 2. 18.
[Java Study 12주차] Annotation 본 포스팅은 백기선님이 진행하시는 자바 스터디 를 진행하며 혼자 공부하고 이해한 내용을 바탕으로 정리한 글입니다. 오류나 지적 사항이 있다면 댓글로 알려주시면 감사하겠습니다. 애노테이션(Annotation)이란? 애노테이션은 소스코드에 메타데이터(혹은 설정정보)를 추가하는 매커니즘이다. 예전에는 소스코드와 그에 대한 문서를 따로 작성하였다. 이런 경우 소스코드를 변경하고나서 문서를 이에 맞춰 변경하지 않으면, 소스코드와 문서가 일치하지 않는 불상사가 생긴다. 그래서 자바 개발자들은 소스코드와 문서를 하나의 파일로 저장하는 방안을 생각해냈다. 그렇게 소스코드의 주석으로부터 HTML 문서를 생성해내는 javadoc.exe가 탄생했다. 문서 뿐만 아니라 설정 파일도 소스코드와 분리해서 관리했었다. 예전에는 설.. 2021. 1. 31.
[Java Study 11주차] Enum 본 포스팅은 백기선님이 진행하시는 자바 스터디 를 진행하며 혼자 공부하고 이해한 내용을 바탕으로 정리한 글입니다. 오류나 지적 사항이 있다면 댓글로 알려주시면 감사하겠습니다. Enum이란? enum(열거형)은 서로 관련된 상수를 편리하게 선언하기 위한 것으로 상수를 여러 개 정의할 때 사용한다. enum은 여러 상수를 정의한 후, 정의된 것 이외의 값은 허용하지 않는다. 가장 간단하게 선언하는 법은 다음과 같다. enum 열거형이름 {상수명1 , 상수명2, 상수명3, ...} public class EnumDemo { enum Season {SPRING, SUMMER, FALL, WINTER} public static void main(String[] args) { printSeason(Season.SP.. 2021. 1. 23.
[Java] isBlank() vs isEmpty() 차이 isBlank는 자바 11에 추가된 메서드이다. isBlank와 isEmpty 모두 String 클래스에 속한 메서드이며 boolean을 반환한다. isBlank는 해당 String 안에 공백(Whitespace) 혹은 빈 문자열이 있으면 true를 반환한다. 해당 문제가 공백인지 확인하는데 Character.isWhitespace(char) 메서드를 사용한다. isEmpty는 해당 문자열이 빈 문자열이면 true를 반환한다. public boolean isEmpty() { return value.length == 0;} public class Main { public static void main(String[] args) { System.out.println("ABC".isBlank()); // fa.. 2021. 1. 15.
[Java Study 10주차] 멀티쓰레드 프로그래밍 본 포스팅은 백기선님이 진행하시는 자바 스터디 를 진행하며 혼자 공부하고 이해한 내용을 바탕으로 정리한 글입니다. 오류나 지적 사항이 있다면 댓글로 알려주시면 감사하겠습니다. Thread 클래스와 Runnable 인터페이스 쓰레드(Thread)란? 우리가 사용하는 프로그램은 하나의 프로세스(process)이다. 프로그램을 실행하면 OS로부터 자원을 할당받아 프로세스가 된다. 블로그에 글을 쓰기 위해 크롬 창을 켜는 순간 하나의 프로세스가 동작하기 시작하는 것이다. 현재 우리가 사용하는 OS들(윈도우, 리눅스, 맥OS 등등..)은 모두 멀티태스킹을 지원한다. 멀티태스킹을 지원한다는 것은 여러 개의 프로세스를 동시에 실행할 수 있다는 것이다. 내가 블로그에 글을 쓰면서, 동시에 유튜브로 음악을 듣고, 인텔리.. 2021. 1. 13.
[Java Study 9주차] 예외 처리 본 포스팅은 백기선님이 진행하시는 자바 스터디 를 진행하며 혼자 공부하고 이해한 내용을 바탕으로 정리한 글입니다. 오류나 지적 사항이 있다면 댓글로 알려주시면 감사하겠습니다. 예외(Exception)와 에러(Error) 다들 프로그램을 사용하다가 프로그램이 비정상적으로 종료되는 경험을 해본 적이 있을 것이다. 이러한 결과를 초래하는 원인을 프로그램 에러(Error) 또는 오류라고 한다. 에러는 크게 컴파일 에러와 런타임 에러로 구분할 수 있다. 컴파일 에러는 말 그대로 컴파일 과정에서 일어나는 에러이고, 런타임 에러는 실행 과정에서 일어나는 에러이다. 컴파일 에러는 기본적으로 자바 컴파일러가 문법 검사를 통해서 오류를 잡아내 준다. 우리는 컴파일러가 알려주는 오류를 수정하면 성공적으로 컴파일을 해서 프로.. 2021. 1. 10.