언어/Java

Exception과 Exception handler (+테스트 코드)
에러는 3가지 종류가 있습니다. 컴파일 에러: 컴파일 시에 컴파일러가 체크하는 예외로, 문법 문제, 소스코드 문제 등으로 발생합니다. (보통 IDE에서 빨간 줄로 알려줍니다.) 런타임 에러 : 컴파일은 성공했지만 프로그램 실행 중, 발생하는 문제입니다. 논리적 에러 : 컴파일도 되고, 실행도 되었지만 의도한 동작이 아닌 다른 동작을 하는 경우입니다. 만약 게임에서 목숨을 다썼는데 죽지않는 경우를 논리적 에러라고 할 수 있습니다. 런타임 에러는 다시 에러(Error)와 예외(Exception)로 나뉘어집니다. 에러는 OutOfMemoryError, StackOverFlowError 와 같은 발생 시 복구할 수 없는 심각한 문제를 의미합니다. 예외는 발생하더라도 수습할 수 있는 비교적 덜 심각한 문제를 말합..

참조 타입과 메모리 사용 영역 (+Java 코드 실행 과정)
도서 『혼자 공부하는 자바』 를 참고하였습니다. 자바의 타입은 크게 기본 타입(primitive type)과 참조 타입(reference type)이 있다. 기본 타입과 참조 타입 기본 타입은 정수 타입(byte, char, short, int, long), 실수 타입(float, double), 논라 타입(boolean)을 저장하는 타입이다. 참조 타입은 객체 object의 번지를 참조하는 타입이며 배열, 열거, 클래스, 인터페이스를 말한다. 기본 타입은 실제 값을 변수 안에 바로 저장하지만 참조 타입은 변수 안에 메모리의 번지를 저장한다. 번지를 통해 객체를 참조한다는 뜻에서 참조 타입이다. 큰 차이점은 참조 타입에는 null 을 저장할 수 있다는 것이다. 만약 힙 영역의 객체를 참조하고 있는 변수에..
![[짧은글] 컬렉션 프레임워크 (Collections Framework)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpHC9C%2FbtrgMss1o4U%2FC6N67NubwNMRxyL3LUxzdk%2Fimg.png)
[짧은글] 컬렉션 프레임워크 (Collections Framework)
이번 포스팅에서는 자바의 컬렉션 프레임워크에 대해 간단히 정리해보려 합니다. (짧은 글!) 컬렉션 프레임워크는 JDK 1.2부터 등장했는데요, 컬렉션 프레임워크는 대량의 데이터 군을 표현하고 이를 효율적으로 다룰 수 있도록 제공하는 표준화된 방법을 제공합니다. 이미 저희가 많이 사용하고 있는 자료구조를 떠올려보면 ArrayList, HashMap 등등이 떠오르는데요, 이것들은 각 인터ㅔ이스의 구현체입니다. 자바 컬렉션 프레임워크 👉자바 컬렉션 프레임워크란, 대량의 데이터를 효율적으로 처리할 수 있는 기능을 제공하는 클래스의 집합! 을 의미한다. 👉데이터를 저장하는 자료구조와 데이터를 처리하는 알고리즘을 구조화해서 클래스로 구현한 것이다. 👉주로 사용되는 인터페이스 (java.util.~) List Set..

제네릭과 Wrapper 클래스
제네릭 개념 ---------------------------------------------------------------------------------------- ▶클래스나 메소드를 형판에서 찍어내듯이 생산할 수 있도록 '일반화된 형판'을 만드는 기법 ▶특정 타입만 다루지 않고, 여러 종류의 타입으로 쓰일 수 있도록 클래스나 메소드를 '일반화'시키는 기법 쉬운말로, 자료형을 정하지 않는 기법. (외부에서 지정) -> 외부에서 어떤 타입이 들어올지 모를 때 유용. ▶여러 종류를 받는 클래스,인스터페이스 이름옆에 를 써준다. (타입을 파라미터로 가지는 클래스와 인터페이스가 된다.) 1. 제네릭 클래스 class GClass { private E data; public E getData() { ret..

예외 처리 (이론)
이번 글에서는 예외처리의 이론적 개념을 정리할 것이다:) ▶오류의 종류 에러(Error) 예외(Exception) 하드웨어의 잘못된 동작 또는 고장으로 인한 오류 사용자의 잘못된 조작 또는 개발자의 잘못된 코딩으로 인한 오류 에러가 발생되면 프로그램 종료 예외가 발생되면 프로그램 종료 정상 실행 상태로 돌아갈 수 없음 예외처리 추가하면 정상 실행 상태로 돌아갈 수 있음 ** 예외 ; 경험론적 코딩 기법 why? 미리 경험하여 겪어봐야 예외가 발생하는 것을 알고, 예외를 예상해서 써주는 것이기 때문. ** 예외처리를 추가한다 ; 예외가 발생했을때 그부분을 실행하지않도록 한다. ▶예외의 종류 - 일반(컴파일 체크) 예외 ; 예외 처리 코드 없으면 컴파일 오류 발생 - 실행 예외 (Runtime Excepti..

기초 #11. 중첩 인터페이스와 익명 객체 (+예제 1,2)
중첩 클래스를 다뤘으니 이제 중첩 인터페이스를 다루겠다. 중첩 인터페이스 ---------------------------------------------------------------------------------------- ▶클래스 내부에 선언한 인터페이스 ▶주로 UI 작업을 위한 이벤트에 많이 활용된다. ▶인터페이스를 클래스 내부에 선언하는 이유? 해당 클래스와 긴밀한 관계를 맺는 구현 클래스를 만들기 위해서. 예제 --------------------------------------------------------------------------------------------------------------------------------- 1. 내부에 중첩 인터페이스 보유한 클래스 코드 ..