본문 바로가기

전체 글169

JAVA 예외 처리 알아가기 오류(error)와 예외(exception) 자바 프로그램을 작성할 때 자바 문법에 맞지 않게 코드를 작성하고 컴파일하려고 하면, 자바 컴파일러는 문법 오류(syntax error)를 발생시킵니다. 또한, 자바 문법에는 맞게 작성되었다 하더라도 프로그램이 실행되면서 예상하지 못한 오류가 발생할 수 있습니다. 이렇게 컴퓨터 시스템이 동작하는 도중에 예상하지 못한 사태가 발생하여 실행 중인 프로그램이 영향을 받는 것을 오류(error)와 예외(exception) 두 가지로 구분할 수 있습니다. 오류(error)는 시스템 레벨에서 프로그램에 심각한 문제를 야기하여 실행 중인 프로그램을 종료시킵니다. 이러한 오류는 개발자가 미리 예측하여 처리할 수 없는 것이 대부분이므로, 오류에 대한 처리는 할 수 없습니다. .. 2022. 2. 22.
JAVA 컬렉션 프레임워크 알아가기3 Iterator 인터페이스 자바의 컬렉션 프레임워크는 컬렉션에 저장된 요소를 읽어오는 방법을 Iterator 인터페이스로 표준화하고 있습니다. Collection 인터페이스에서는 Iterator 인터페이스를 구현한 클래스의 인스턴스를 반환하는 iterator() 메소드를 정의하여 각 요소에 접근하도록 하고 있습니다. 따라서 Collection 인터페이스를 상속받는 List와 Set 인터페이스에서도 iterator() 메소드를 사용할 수 있습니다. 다음 예제는 연결 리스트를 반복자(iterator)를 사용하여 순회하는 예제입니다. 예제 LinkedList lnkList = new LinkedList(); lnkList.add(4); lnkList.add(2); lnkList.add(3); lnkList.a.. 2022. 2. 21.
Todo list 프로젝트 만들기 #1 개발 공부를 시작한지 한 달째가 되어가지만 제대로 할 줄 아는게 없다.. 웹 개발자가 되고싶은 나지만 생활코딩님의 웹 애플리케이션 만들기를 보면서 따라해본 웹이 꼴랑 나의 결과물이다. 그것도 다 베껴서 만든.. (회사를 다니면서 공부를 한다는 것이 쉬운 일은 아닌 거 같다 ㅠㅠ) 일단 나는 개발자가 되기 위해서는 이론적인 것을 알아야지 뭘 할 수 있겠다라는 생각이 들어서 백엔드 개발자가 되고싶은 나이기에 일단 JAVA라는 프래그래밍 언어의 이론적인 것을 공부하고 있는데 도통 무슨 말인지도 모르겠는 어려운 용어들이 너무 많았다. 그러다가 유튜브에서 우연히 '테크보이 워니'라는 유튜버 분의 영상을 보게 되었는데 "백날 첫날 이론을 공부해봤자 실력이 늘지 않는다." 라며 일단 직접 프로젝트를 해보면서 모르는 .. 2022. 2. 19.
JAVA 컬렉션 프레임워크 알아가기2 Set 컬렉션 클래스 Set 인터페이스를 구현한 모든 Set 컬렉션 클래스는 다음과 같은 특징을 가집니다. 1. 요소의 저장 순서를 유지하지 않습니다. 2. 같은 요소의 중복 저장을 허용하지 않습니다. 대표적인 Set 컬렉션 클래스에 속하는 클래스는 다음과 같습니다. 1. HashSet 2. TreeSet HashSet 클래스 HashSet 클래스는 Set 컬렉션 클래스에서 가장 많이 사용되는 클래스 중 하나입니다. JDK 1.2부터 제공된 HashSet 클래스는 해시 알고리즘(hash algorithm)을 사용하여 검색 속도가 매우 빠릅니다. 이러한 HashSet 클래스는 내부적으로 HashMap 인스턴스를 이용하여 요소를 저장합니다. HashSet 클래스는 Set 인터페이스를 구현하므로, 요소를 순서.. 2022. 2. 18.
JAVA 컬렉션 프레임워크 알아가기1 컬렉션 프레임워크(collection framework)란? 자바에서 컬렉션 프레임워크(collection framework)란 다수의 데이터를 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스의 집합을 의미합니다 즉, 데이터를 저장하는 자료 구조와 데이터를 처리하는 알고리즘을 구조화하여 클래스로 구현해 놓은 것입니다. 이러한 컬렉션 프레임워크는 자바의 인터페이스(interface)를 사용하여 구현됩니다. 컬렉션 프레임워크 주요 인터페이스 컬렉션 프레임워크에서는 데이터를 저장하는 자료 구조에 따라 다음과 같은 핵심이 되는 주요 인터페이스를 정의하고 있습니다. 1. List 인터페이스 2. Set 인터페이스 3. Map 인터페이스 이 중에서 List와 Set 인터페이스는 모두 Collecti.. 2022. 2. 17.
JAVA 제네릭 알아가기 제네릭(generic)이란? 자바에서 제네릭(generic)이란 데이터의 타입(data type)을 일반화한다(generalize)는 것을 의미합니다. 제네릭은 클래스나 메소드에서 사용할 내부 데이터 타입을 컴파일 시에 미리 지정하는 방법입니다. 이렇게 컴파일 시에 미리 타입 검사(type check)를 수행하면 다음과 같은 장점을 가집니다. 1. 클래스나 메소드 내부에서 사용되는 객체의 타입 안정성을 높일 수 있습니다 2. 반환값에 대한 타입 변환 및 타입 검사에 들어가는 노력을 줄일 수 있습니다. JDK 1.5 이전에서는 여러 타입을 사용하는 대부분의 클래스나 메소드에서 인수나 반환값으로 Object 타입을 사용했습니다. 하지만 이 경우에는 반환된 Object 객체를 다시 원하는 타입으로 타입 변환해.. 2022. 2. 17.
JAVA API 클래스 알아가기4 java.util 패키지 java.util 패키지에는 프로그램을 개발하는 데 사용할 수 있는 유용한 유틸리티 클래스가 다수 포함되어 있습니다. 실제로 java.lang 패키지 다음으로 가장 많이 사용되는 패키지가 java.util 패키지입니다. 하지만 import 문을 사용하지 않아도 바로 사용할 수 있는 java.lang 패키지와는 달리 java.util 패키지는 import 문으로 패키지를 불러오고 나서야 클래스 이름만으로 사용할 수 있습니다. java.util.Arrays 클래스 Arrays 클래스에는 배열을 다루기 위한 다양한 메소드가 포함되어 있습니다. Arrays 클래스의 모든 메소드는 클래스 메소드(static method)이므로, 객체를 생성하지 않고도 바로 사용할 수 있습니다. 이 클래스.. 2022. 2. 17.
JAVA API 클래스 알아가기3 래퍼 클래스(Wrapper class) 프로그램에 따라 기본 타입의 데이터를 객체로 취급해야 하는 경우가 있습니다. 예를 들어, 메소드의 인수로 객체 타입만이 요구되면, 기본 타입의 데이터를 그대로 사용할 수는 없습니다. 이때에는 기본 타입의 데이터를 먼저 객체로 변환한 후 작업을 수행해야 합니다. 이렇게 8개의 기본 타입에 해당하는 데이터를 객체로 포장해 주는 클래스를 래퍼 클래스(Wrapper class)라고 합니다. 래퍼 클래스는 각각의 타입에 해당하는 데이터를 인수로 전달받아, 해당 값을 가지는 객체로 만들어 줍니다. 이러한 래퍼 클래스는 모두 java.lang 패키지에 포함되어 제공됩니다. 자바의 기본 타입에 대응하여 제공하고 있는 래퍼 클래스는 다음과 같습니다. 기본 타입 래퍼 클래스 byte.. 2022. 2. 17.
JAVA API 클래스 알아가기2 java.lang.StringBuffer 클래스 String 클래스의 인스턴스는 한 번 생성되면 그 값을 읽기만 할 수 있고, 변경할 수는 없습니다. 하지만 StringBuffer 클래스의 인스턴스는 그 값을 변경할 수도 있고, 추가할 수도 있습니다. 이를 위해 StringBuffer 클래스는 내부적으로 버퍼(buffer)라고 하는 독립적인 공간을 가집니다. 버퍼 크기의 기본값은 16개의 문자를 저장할 수 있는 크기이며, 생성자를 통해 그 크기를 별도로 설정할 수도 있습니다. 하지만 인스턴스 생성 시 사용자가 설정한 크기보다 언제나 16개의 문자를 더 저장할 수 있도록 여유 있는 크기로 생성됩니다. 덧셈(+) 연산자를 이용해 String 인스턴스의 문자열을 결합하면, 내용이 합쳐진 새로운 String 인.. 2022. 2. 17.
JAVA API 클래스 알아가기1 java.lang 패키지 java.lang 패키지는 자바에서 가장 기본적인 동작을 수행하는 클래스들의 집합입니다. 따라서 자바에서는 java.lang 패키지의 클래스들은 import 문을 사용하지 않아도 클래스 이름만으로 바로 사용할 수 있도록 하고 있습니다. java.lang.Object 클래스 java.lang 패키지 중에서도 가장 많이 사용되는 클래스는 바로 Object 클래스입니다. Object 클래스는 모든 자바 클래스의 최고 조상 클래스가 됩니다. 따라서 자바의 모든 클래스는 Object 클래스의 모든 메소드를 바로 사용할 수 있습니다. 이러한 Object 클래스는 필드를 가지지 않으며, 총 11개의 메소드만으로 구성되어 있습니다. toString() 메소드 toString() 메소드는 해당 .. 2022. 2. 16.