java

· Archive/Java
자바에는 8대 자료형이라 불리는 기본 자료형이 있다. 이 기본 자료형을 특별하게 분류하는 이유는 클래스가 아니기 때문이다. 클래스가 아니라는 것은 다른 말로 참조타입(reference type)이 아니라는 뜻이다. 당장 적당한 예시가 떠오르지 않지만, 이 기본 타입들에 대해 객체로 표현해야 하는 경우가 있는데 문제는 참조타입이 아니기 때문에 객체를 생성하지 못하는 문제가 있다. 그래서 Java에는 Wrapper(래퍼) 라고 부르는 클래스가 존재한다. 이 클래스들은 기본 자료형을 참조타입으로 객체를 생성할 수 있도록 해준다. 기본 타입 (primitive type) 래퍼클래스 (Wrapper class) byte Byte short Short int Integer long Long float Float d..
# 자바의 람다식에 대해 학습하세요. # 학습할 것 람다식 사용법 함수형 인터페이스 Variable Capture 메소드, 생성자 레퍼런스 람다식을 사용하기에 앞서 익명 구현 객체라는 것에 대해 알면 좋다. 익명 구현 객체는 인터페이스나 클래스의 객체를 생성해서 사용할 때, 재사용하지 않는 경우 보통 사용한다. 예를 들어 보자. 특정 인터페이스를 사용하기 위해 이 인터페이스를 상속 받은 클래스를 구현하는 방법이 있다. package me.xxxelppa.study.week15; public class Exam_001 { public static void main(String[] args) { Exam_001_Sub exam_001_sub = new Exam_001_Sub(); exam_001_sub.do..
# 자바의 제네릭에 대해 학습하세요. # 학습할 것 제네릭 사용법 제네릭 메소드 만들기 제네릭 주요 개념(바운디드 타입, 와일드 카드) Erasure 제네릭을 사용하는 방법에 대해 정리해보기 전에 왜 필요한지에 대해 알면 언제 사용할지 도움이 될 수 있다. 예전에 관련해서 정리했던 링크를 첨부한다. java 제네릭 (Generic), 내가 알아보기 쉽게 정리 - 1편, 왜 제네릭 링크를 추가 했지만, 그래도 간략하게 제네릭이 왜 필요한지 간단하게 정리해보려 한다. 제네릭을 사용하는 이유에는 흔히 알고있는 컴파일 타임에 타입 체크를 하기 위함이나 타입 캐스팅을 제거하여 프로그램 성능 향상을 위해서 이다. 하지만 보다 궁극적인(?) 목적은 중복코드의 제거에 있다고 생각 한다. 예를 들어 다음과 같이 List..
# 자바의 애노테이션에 대해 학습하세요. # 학습할 것 애노테이션 정의하는 방법 @retention @target @documented 애노테이션 프로세서 애노테이션(annotation)을 사전에 찾아보면 '주석'이라고 나온다. 위 이미지는 구글 검색 결과인데, 말뭉치 주석 이라는 말이 재밌어서 첨부했다. 자바에서 주석이라고 하면 크게 세 가지 형태를 떠올릴 수 있다. 1. 단일행 주석 2. 다중행 주석 3. javadoc 주석 이 주석들은 보통 작성된 코드를 보는 사람에게 정보를 제공해주기 위해 사용한다. 코드를 언제 누가 작성 했는지, 어떤 메소드가 있으며 어떻게 사용하는지 등 보통 자국어 문자를 사용해서 설명을 작성해 놓은 것이다. 적절한 위치에 작성된 과하지 않은 적절한 주석은 코드를 읽는데 도움..
# 자바의 열거형에 대해 학습하세요. # 학습할 것 enum 정의하는 방법 enum이 제공하는 메소드 (values()와 valueOf()) java.lang.Enum EnumSet Enum을 '열거형' 또는 Enumeration 또는 상수집합 이라고도 부른다. 상수 목록이 필요해서 class 나 interface 를 활용 하는것을 본 적이 있다. 하지만 class 나 interface 는 그런 용도로 사용하라고 만들어진 것이 아니기 때문에 이런 사용을 지양해야 한다. enum 정의하는 방법 가장 단순한 형태의 enum 클래스는 다음과 같이 정의할 수 있다. package me.xxxelppa.study.week011; public enum WhiteshipLectureList { THE_JAVA_JAV..
# 자바의 멀티쓰레드 프로그래밍에 대해 학습하세요. # 학습할 것 Thread 클래스와 Runnable 인터페이스 쓰레드의 상태 쓰레드의 우선순위 Main 쓰레드 동기화 데드락 멀티쓰레드에 대해 알아보기 전에 미리 알아야 할 것들이 조금 있다. OS(운영체제)에서 실행중인 하나의 프로그램을 프로세스라고 한다. 작업 관리자를 열어보면, 현재 운영체제에서 실행중인 프로세스들을 볼 수 있다. 이것들은 OS 로부터 메모리를 할당 받아 동작한다. 그리고 멀티 태스킹이라는 것도 있다. 딘어에서 느껴지는 것 그대로 동시에 여러가지 일을 처리하는 것을 말한다. 작업 관리자를 보면 동시에 여러가지 프로그램이 실행되고 있는 것을 볼 수 있는데, 이것도 멀티 태스킹의 하나라고 할 수 있다. 그렇다고 해서 멀티 태스킹이라는 ..
# 자바의 예외 처리에 대해 학습하세요. # 학습할 것 자바에서 예외 처리 방법 (try, catch, throw, throws, finally) 자바가 제공하는 예외 계층 구조 Exception과 Error의 차이는? RuntimeException과 RE가 아닌 것의 차이는? 커스텀한 예외 만드는 방법 자바에서 예외 처리 방법 (try, catch, throw, throws, finally), 커스텀한 예외 만드는 방법 자바에서 예외를 처리하는 방법은 다양하다. try ~ catch 를 사용해서 예외를 직접 처리하는 방법. try ~ catch ~ finally 를 사용해서 예외를 직접 처리하고, 예외가 발생해도 꼭 해야하는 후속처리까지 하는 방법. throw를 사용해서 강제로 예외를 발생하는 방법. ..
# 자바의 인터페이스에 대해 학습하세요. # 학습할 것 인터페이스를 정의하는 방법 인터페이스를 구현하는 방법 인터페이스 레퍼런스를 통해 구현체를 사용하는 방법 인터페이스 상속 인터페이스의 기본 메소드 (Default Method), 자바 8 인터페이스의 static 메소드, 자바 8 인터페이스의 private 메소드, 자바 9 본격적으로 인터페이스에 대해 정리하기에 앞서 인터페이스가 무엇인지 정리해보려 한다. 극단적으로 얘기하면 인터페이스는 구현을 강제하도록 하기 위한 것이다. 그러면 불편한게 아닐까 싶은 생각도 있겠지만, 오히려 그 반대라고 생각하면 된다. 생활 속에서 인터페이스의 예를 찾아보면 콘센트가 인터페이스라고 할 수 있다. 적어도 한국에서 사용하는 콘센트의 규격이 정해져있기 때문에 우리는 전자..
nimkoes
'java' 태그의 글 목록