본문 바로가기

분류 전체보기15

Enum 목표 자바의 열거형에 대해 학습하기 열거형 (enumerated type, enumeration, enum) 은 열거 타입은 일정 개수의 상수 값을 정의한 다음, 그 외의 값은 허용하지 않는 타입이다 enum 정의하는 방법 괄호 {} 안에 상수의 이름을 나열하면 된다 . enum 열거형이름 { 상수명1, 상수명2, 상수명3 } enum Card { SPADE, DIAMOND, HEART, CLOVER } 열거형에 정의된 상수를 사용하는 방법은 '열거형이름.상수명' 이다. Card getFirstCard() { return Card.CLOVER; } 열거형 상수간 비교에는 equals() 대신 '=='을 사용할 수 있다. 그만큼 빠른 성능을 제공한다. 하지만 '' 와 같은 비교연산자는 사용할 수 없고, c.. 2021. 3. 1.
멀티쓰레드 프로그래밍 목표 자바의 멀티쓰레드 프로그래밍에 대해 학습하기 프로세스와 쓰레드 프로세스란 '실행중인 프로그램'이다. 프로그램을 실행하면 OS로부터 실행에 필요한 자원(메모리)을 할당받아 프로세스가 된다. 프로세스는 프로그램을 수행하는 데 필요한 데이터와 메모리 등의 자원 그리고 쓰레드로 구성되어 있으며 프로세스의 자원을 이용해서 실제로 작업을 수행하는 것이 바로 쓰레드 이다. 그래서 모든 프로세스에는 최소한 하나 이상의 쓰레드가 존재하며, 둘 이상의 쓰레드를 가진 프로세스를 '멀티쓰레드 프로세스' 라고 한다. 하나의 프로세스가 가질 수 있는 쓰레드의 개수는 제한되어 있지 않으나 쓰레드가 작업을 수해하는데 개별적인 메모리 공간을 필요로 하기 때문에 프로세스의 메모리 한계에 따라 생성할 수 있는 쓰레드의 수가 결정된다.. 2021. 2. 28.
예외처리 목표 자바의 예외 처리에 대해 학습하기 프로그램이 실행 중 어떤 원인에 의해서 오작동을 하거나 비정상적으로 종료되는 경우가 있는데, 이를 에러 또는 오류라고 한다. 에러는 발생 시점에 따라 3가지로 나눌 수 있다. 컴파일 에러 - 컴파일 시점에 발생하는 에러. 소스코드를 컴파일 하면 컴파일러가 오타나, 잘못된 구문, 자료형 체크 등의 기본적인 검사를 수행하는데 이 때 발생하며, 컴파일 에러가 발생한 소스코드는 클래스 파일이 생성되지 않아 실행이 불가능하다. 런타임 에러 - 소스코드가 실제 실행되는 시점에 발생하는 에러. 컴파일은 에러없이 성공적으로 마쳤으나, 실행 중에 에러에 의해 잘못된 결과를 얻거나 프로그램이 비정상적으로 종료되는 경우 등이 해당한다. 논리적 에러 - 컴파일도 되고, 실행도 잘되지만 .. 2021. 2. 25.
인터페이스 목표 자바의 인터페이스에 대해 학습하기 인터페이스는 일종의 추상클래스이다. 인터페이스는 추상메소드를 갖지만 추상클래스보다 추상화 정도가 높아서 추상클래스와 달리 몸통을 갖춘 일반 메소드 또는 멤버변수를 구성원으로 가질 수 없다. 오직 추상메소드와 상수만을 멤버로 가질 수 있으며, 그 외의 다른 어떤 요소도 허용하지 않는다. (java 1.7 기준) 인터페이스 정의하는 방법 인터페이스를 작성하는 것은 클래스를 작성하는 것과 같다. 다만 키워드로 class 대신 interface를 사용한다는 것만 다르다. interface 인터페이스이름 { public static final 타입 상수이름 = 값; public abstract 메소드이름(매개변수목록); } interface numberGenerator { .. 2021. 2. 24.