Java 9

enum

백기선 자바 스터디 11주차 enum에 대해 학습하며 정리한 내용입니다. 열거형(enum)은 서로 연관된 상수들의 집합입니다. 열거형 상수인 enum은 자바 1.5버전부터 새롭게 추가되었습니다. enum이란? 관련이 있는 상수들의 집합입니다. 자바에서는 final로 String과 같은 문자열이나 숫자들을 나타내는 기본 자료형의 값을 고정할 수 있습니다. 이렇게 고정된 값을 상수라고 합니다. 영어로는 constant입니다. 어떤 클래스가 상수만으로 작성되어 있다면 반드시 class로 선언할 필요는 없습니다. 이럴 때 class로 선언된 부분에 enum이라고 선언하면 이 객체는 상수의 집합이다라는 것을 명시적으로 나타냅니다. enum은 enumeration이라는 셈, 계산, 열거, 목록이라는 영어 단어의 앞..

Java 2022.10.07

멀티스레드 프로그래밍

백기선 자바 스터디 10주차 멀티스레드 프로그래밍에 대해 학습하면서 정리한 내용입니다. Java의 멀티스레드 멀티 스레드 프로그램에서는 여러 스레드가 동시에 실행됩니다. 각 스레드는 리소스를 최적으로 사용하여 다른 작업을 동시에 처리합니다. 자바에서 스레드를 생성하는 방법은 두 가지가 있습니다. 1. Thread 클래스를 상속 받거나 2. Runnable 인터페이스를 구현하는 방법이 있습니다. 1. Thread class Thread class를 사용하는 방법은 아래와 같습니다. 1. Thread class를 상속받는 class를 만듭니다. 2. run() 메서드를 overriding하여 수행할 코드를 작성합니다. 3. main 메서드에서 Thread class를 상속 받은 class 객체를 만들고 st..

Java 2022.09.27

예외 처리

백기선 자바 스터디 9주차 예외 처리에 대해 학습하면서 정리한 내용입니다. 프로그램 실행 과정에서 의도하지 않은 상황이 발생할 수 있습니다. 존재하지 않는 파일을 열어보려하거나, 권한이 없는 파일에 데이터를 쓰려고 할 때 예외가 발생합니다. 이러한 예외 상황에서 프로그램을 종료하지 않고, 그에 맞는 적절한 처리를 하고 싶을 때가 있습니다. 예외 처리는 오류를 처리하여 프로그램의 흐름이 유지될 수 있도록 도와줍니다. 발생 시점에 따른 에러 분류 Compile-time Error: 컴파일러는 컴파일하는 시점에서 오타나 잘못된 구문, 자료형 등 검사를 수행합니다. 이 때 발생하는 에러를 컴파일 에러라고 합니다. Runtime Error: 프로그램 실행 시점에서 발생하는 에러로 실행 도중 의도치 않은 동작에 의..

Java 2022.09.15

Java의 상속과 super 키워드

백기선 자바 스터디 6주차 상속이라는 주제에 대해 학습하면서 정리한 내용입니다. 자바 상속의 특징 Java의 상속이란 Java에서 상속이란 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것입니다. 상속을 통해 클래스를 작성하면 적은 양의 코드로 새로운 클래스를 작성할 수 있고, 코드를 공통저긍로 관리할 수 있어 코드의 추가 및 변경에 매우 용이하다는 장점을 갖게 됩니다. 구현 방식 Java에서 상속을 구현하는 방법에 대해 알아보겠습니다. 새로 만들고자 하는 클래스의 이름 뒤에 상속 받고자 하는 클래스의 이름을 extends 키워드와 함께 써주면 됩니다. public class Tv { boolean power; int channel; void power() { power = !power; } voi..

Java 2022.08.29

5주차 클래스

클래스 정의하는 방법 Java에서 클래스를 정의하기 위해서는 Class 예약어를 사용한다. 키워드 뒤에는 클래스 이름이 와야 한다. 정의한 클래스 내에 메서드와 변수를 선언한다. 클래스 정의에는 다음과 같은 내용이 포함된다. modifier : public or default class keyword : class 키워드는 클래스를 생성하는데 사용된다. class name : 관례상 대문자로 시작하는 이름을 사용한다. superclass (있는 경우) : extends 키워드를 사용하여 클래스의 상위 클래스를 상속 받을 수 있다 interface (있는 경우) : implements 키워드를 사용하여 인터페이스에 구현된 추상 메서드를 구현할 수 있다. body : 중괄호 { }로 클래스 본문의 범위를 지..

Java 2022.08.18

자바 데이터 타입, 변수 그리고 배열

프리미티브 타입 종류와 값의 범위 그리고 기본 값 Java에는 int, byte, short, long, float, double, boolean, char와 같이 8가지의 Primitive type이 있다. Primitive type 값의 범위와 기본값 타입 할당되는 메모리 크기 기본값 데이터의 표현 범위 논리형 boolean 1 byte false true, false 정수형 byte 1 byte 0 -128 ~ 127 short 2 byte 0 -32,768 ~ 32,767 int 4 byte 0 -2,147,483,648 ~ 2,147,483,647 long 8 byte 0L -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 실수형 float 4 b..

Java 2022.07.28

JVM은 무엇이며 자바 코드는 어떻게 실행하는 것인가

JVM은 무엇이며 자바 코드는 어떻게 실행하는 것인가 JVM이란 무엇인가 JVM이란 Java Virtual Machine, 자바를 실행하기 위한 가상 컴퓨터의 약자다. Java는 OS에 종속적이지 않다. 그렇기 때문에 OS에 종속 받지 않고 Java를 실행하기 위해선 OS 위에서 Java를 실행시킬 무언가가 필요하다. 이 때 필요한 게 JVM이다. JVM은 OS에 종속받지 않고 CPU가 Java를 인식, 실행할 수 있게하는 가상 컴퓨터이다. Java 소스코드 (.java)는 CPU가 인식하지 못하므로 기계어로 컴파일 해줘야한다. 하지만 Java는 JVM이라는 가상머신을 거쳐 OS에 도달하기 때문에 OS가 인식할 수 있는 기계어로 컴파일 되는 게 아니라 JVM이 인식할 수 있는 Java bytecode(...

Java 2022.07.24

20220711 - 0715 주간 회고

오늘 한 일 07.11 월 알고리즘 백트래킹, 문자열 문제 07.12 화 운영체제 강의 한 개 알고리즘 n * m (1) 스터디 dp 문제 next step ch 1 07.13 수 운영체제 강의 두 개 알고리즘 n * m (2) 알고리즘 스터디, 면접 후기 next step ch 2 07.14 목 반효경 프로세스 강의 1 n * m 3 07.15 금 n * m 4, 5 알고리즘 조합문제 구현 (못함) 내가 무엇을 했는지 구체적으로 기록한다. 그 공부를 왜 했는지, 하고 나서 이전과 어떤 점이 달라졌는지를 포함하면 더욱 좋다. 소감 이번 주부터 반효경 교수님의 운영체제 강의를 듣기 시작했다. 처음부터 모든 걸 다 이해하고 넘어가려 하지 않고 들리는 부분만 듣고 넘어가자는 생각으로 시작했다. 그래서 그런지 ..

회고 2022.07.18