반응형

언어(Language) 109

[Java] 자바 컬렉션 프레임워크 개념 정리 (Collection Framework)

컬렉션 프레임워크란? (Collection Framework) 자바에서는 데이터를 저장하기 위해 다양한 자료 구조를 바탕으로 객체들을 효율적으로 추가, 삭제, 검색할 수 있도록 컬렉션을 만들고, 관련된 인터페이스와 클래스를 포함하여 제공한다. 이를 컬렉션 프레임워크라고 한다. 컬렉션 프레임워크가 제공하는 다양한 인터페이스와 구현 클래스를 활용하면, 보다 객체 지향적이고 재사용성 높은 코드를 작성할 수 있다. 컬렉션은 여러 데이터들의 집합을 의미한다. 즉, 여러 데이터들을 그룹으로 묶어놓은 것을 컬렉션이라 하며, 컬렉션을 다루는 데 있어 편리한 메서드들을 미리 정의해 놓은 것을 컬렉션 프레임워크라 한다. 컬렉션 프레임워크는 특정 자료 구조에 데이터를 추가, 삭제, 수정, 검색 등의 동작을 수행할 수 있는 ..

[Java] 자바 컴파일 에러와 런타임 에러

컴파일 에러(Compile Time Error) 컴파일 에러는 컴파일할 때 발생하는 에러이다. 즉, 자바 컴파일러가 에러를 감지하여 프로그램을 실행조차 하지 않는다. 이 경우 IDE에서 미리 감지하여 알려주기 때문에 상대적으로 쉽게 발견하고 수정할 수 있다. 컴파일 에러에는 주로 세미 콜론(;) 또는 괄호() 생략, 잘못된 데이터 타입, 잘못된 포맷 등 문법적인 문제인 Syntax 에러를 발생한다. public class ErrorTest { public static void main(String[] args) { for (int i = 0; i < 5; i++) { System.out.println(i) } } } java: ';' expected 다음과 같이 System.out.println(i) 구..

[Java] 자바 예외 처리(Exception Handling) 개념 정리 및 활용

Intro 프로그래밍을 하고 실행하면 수많은 에러와 예외를 마주하게 된다. 에러 또는 예외가 발생하게 되면 프로그램은 의도한 대로 작동하지 않거나 실행을 비정상적으로 종료하기도 한다. 이러한 에러와 예외들이 발생할 가능성이 있을 때, 효과적으로 처리하는 방법이 바로 예외 처리이다. 예외 처리란? (Exception Handling) 예외 처리는 코드 작성자가 예기치 않게 발생하는 에러들에 대응할 수 도록 사전에 방지하는 것이다. 예외 처리를 하면 프로그램의 비정상적인 종료를 방지하여 정상적인 실행 상태를 유지할 수 있다. 프로그램에서 에러가 발생하는 이유 에러가 발생하는 원인은 수없이 다양하다. 하지만 자주 발생하는 에러의 몇 가지 예시는 다음과 같다. 사용자의 입력 실수 네트워크 연결 끊김 메모리 공간..

[Java] 자바 래퍼 클래스(Wrapper Class) 개념 정리 및 활용

래퍼 클래스(Wrapper Class) 래퍼 클래스는 기본 타입의 데이터를 객체로 취급하여 사용(참조 변수를 사용) 하기 위해 사용한다. 예를 들어, 제네릭 같은 기본형 데이터 타입의 사용을 하지 못하나, 기본 타입의 데이터를 사용해야만 할 경우에 사용된다. 실제로, Integer와 Double와 같은 클래스는 내부에서 기본 데이터 타입을 감싸는 형태로 구현되어 있다. public final class Integer extends Number implements Comparable { ... @Native public static final int MIN_VALUE = 0x80000000; @Native public static final int MAX_VALUE = 0x7fffffff; ... } 래퍼..

[Java] 자바 제네릭(Generic)이란? 개념 정리 및 활용

Intro class Parents { private String info; Parents(String info) { this.info = info; } public String getInfo() { return info; } public void setInfo(String info) { this.info = info; } } 다음과 같은 코드가 있을 때, 문자열 변수 info의 데이터 타입은 String이다. 따라서 Parents 클래스를 통해 만들어진 인스턴스는 String 타입의 데이터를 저장해야 한다. 만약, Parents 클래스와 같은 기능을 하면서 String이 아닌 다양한 데이터 타입도 저장할 수 있도록 하려면 타입 별로 같은 내용의 클래스를 반복적으로 작성해야 할 것이다. class Par..

[Java] 자바 이넘(Enum: 열거형) 개념 정리 및 활용

Enum(열거형: Enumerated Type) Enum(이넘)은 자바에서 여러 상수들을 보다 편리하게 선언할 수 있도록 만들어진 문법 요소이다. Enum은 주로 서로 연관 있는 내용들을 한데 모아 관리하기 쉽도록 하기 위해 사용한다. 예를 들어, 계절(봄, 여름, 가을, 겨울)이나 방위(동, 서, 남, 북), 과목(국어, 영어, 수학, 사회, 과학) 등과 같이 관련 있는 내용들을 묶어서 관리할 수 있다. 자바에서 상수는 변하지 않는 값을 의미하며, final 키워드를 사용하여 선언한다. Enum은 서로 연관된 상수들의 집합으로 서로 관련 있는 변하지 않는 데이터를 다루는 데 사용한다. Enum을 사용하는 이유 JDK 1.5 이전 버전에서는 enum 문법을 지원하지 않았다. 따라서 여러 개의 상수를 사용..

[Java] 자바 인터페이스 활용 예제

Intro 인터페이스를 왜 사용하고, 이것이 가지는 장점이 무엇인지 예제를 통해 알아보도록 한다. 예상 시나리오 1. 식당를 운영하는 사람이 있다. 2. 단골손님들은 매일 먹는 음식이 정해져 있다. 3. 단골손님 A는 항상 김치찌개를 주문한다. 4. 단골손님 B는 항상 제육볶음을 주문한다. 인터페이스를 활용하지 않는 경우 // 식당 손님 class ResCustomer { public String resCustomer; public void setResCustomer(String resCustomer) { this.resCustomer = resCustomer; } } // ResCustomer 클래스로부터 단골손님 A와 B 상속 class ResCustomerA extends ResCustomer { ..

[Java] 자바 인터페이스(Interface) 개념 정리 및 활용

인터페이스 (Interface) 프로그래밍에서의 인터페이스는 서로 다른 두 시스템, 장치, 소프트웨어를 서로 이어주는 부분 또는 접속 장치로 정의할 수 있다. 컴퓨터의 내용을 그래픽 형태로 이미지화하여 사용자와 소통할 수 있도록 연결하는 GUI(Graphic User Interface)가 인터페이스의 대표적인 예시이다. 자바의 인터페이스 또한 유사한 기능을 가지고 있으며, 추상 클래스와 함께 자바에서 추상화를 구현하는 핵심적인 역할을 담당한다. 추상 클래스에 비해 더 높은 단계의 추상성을 가지는 것이 바로 인터페이스다. 추상 클래스는 메서드 바디가 없는 추상 메서드를 하나 이상 포함하는 점 외에는 일반 클래스와 동일하다. 하지만, 인터페이스는 기본적으로 추상 메서드와 상수(static 변수)만을 멤버로 ..

[Java] 자바 final 개념 정리 및 활용

fianl final 키워드는 ‘최종의’, ‘마지막의’라는 뜻을 가진 용어로, 자바 언어에서는 변수, 클래스, 메서드 등에 사용할 수 있다. 또한, 필드, 지역 변수, 클래스 등 어디에 사용하느냐에 따라 의미가 달라진다. final 의미 클래스 : 확장 또는 변경이 불가능한 클래스로 상속을 할 수 없다. 메서드 : 오버라이딩이 불가능한 메서드를 의미한다. 변수 : 값을 변경시킬 수 없는 변수(상수)를 의미한다. 공통적인 의미로는 어디에 사용을 하더라도 변경이 불가능하다. // final 클래스 : 상속, 확장, 변경 불가능 final class FinalClass { // final 변수(클래스 변수) : 값 변경 불가능 final int num = 10; // final 메서드 : 오버라이딩 불가능 f..

[Java] 자바 추상화(Abstraction) 개념 정리 및 활용

추상화 (Abstraction) ‘추상’이라는 용어는 사물이나 표상을 어떤 성질이나 공통성, 본질에 착안하여 이를 추출하고 파악하는 것이다. 즉, 자바에서 추상화에 대한 핵심 개념으로는 공통성과 본질을 모아 추출하는 것에 있다. 추상화의 공통성과 본질을 모아 추출하는 것은 객체의 공통적인 속성과 행위를 추출하여 정의하는 것을 말한다. 이는 기존 클래스들의 공통적인 요소를 모아 상위 클래스를 만들어 내는 기술이다. 예를 들어, 자동차와 오토바이 객체가 존재한다고 가정하면, 자동차와 오토바이의 공통적인 속성과 행위를 생각할 수 있다. 속성에는 제조업체, 가격, 모델명 등이 있을 수 있고, 행위로는 시동을 거는 행위, 앞으로 가는 행위, 정지하는 행위, 뒤로 가는 행위 등이 있다. 이러한 공통적인 속성과 행위..

반응형