본문 바로가기

반응형

Programming

(38)
[Java] 김영한의 자바 중급 1편 #9 - 예외처리 이론 김영한 선생님의 자바 중급을 듣고 정리한 내용입니다.   1. 자바 예외 처리1 - 예외 계층 Java는 프로그램 실행 중에 발생할 수 있는 예상치 못한 상황, 즉 예외(Exception)을 처리하기 위한 메커니즘을 제공한다. 이는 프로그램의 안정성과 신뢰성을 높이는데 중요한 역할을 한다. try, catch, finally, throw, throws 1.1. 예외 계층 그림 Object : Java에서 기본형을 제외한 모든 것은 객체이고 예외(Exception)도 객체이다. 모든 객체의 최상위 부모는 Object이므로 예외의 최상위 부모도 Object이다.Throwable : 최상위 예외이다. 하위에 Exception과 Error가 있다.Error : 메모리 부족이나 심각한 시스템 오류와 같이 애플리케..
[Java] 김영한의 자바 중급 1편 #8 - 중첩 클래스, 내부 클래스 - 2 김영한 선생님의 자바 중급을 듣고 정리한 내용입니다.   1. 지역 클래스지역 클래스(Local Class)는 내부 클래스의 특별한 종류의 하나이다. 따라서 내부 클래스의 특징을 그대로 가진다. 예를 들어 지역 클래스도 내부 클래스이므로 바깥 클래스이 인스턴스 멤버에 접근할 수 있다.지역 클래스는 지역 변수와 같이 코드 블럭 안에서 정의된다.class Outer { public void process() { // 지역 변수 int localVar = 0; // 지역 클래스 class Local { ... } Local local = new Local(); }} 1.1. 지역 클래스 예제 1  지역 클래스의 접근 범위자신의 인스턴스 변수인 value에 접근할 수 있다.자신이 속한..
[Java] 김영한의 자바 중급 1편 #7 - 중첩 클래스, 내부 클래스 - 1 김영한 선생님의 자바 중급을 듣고 정리한 내용입니다.   1. 중첩 클래스, 내부 클래스 1다음과 같이 클래스 안에 클래스를 중첩해서 정의할 수 있는데,이것을 **중첩 클래스(Nested Class)**라 한다.class Outer { ... //중첩 클래스 class Nested { ... }}1.1. 중첩 클래스의 분류  정적 중첩 클래스내부 클래스내부 클래스지역 클래스익명 클래스중첩 클래스의 선언 위치정적 중첩 클래스 → 정적 변수와 같은 위치내부 클래스 → 인스턴스 변수와 같은 위치지역 클래스 → 지역 변수와 같은 위치class Outer { ... // 정적 중첩 클래스 : 정적 변수와 같이 앞에 static이 붙어 있다. static class StaticNested { ... } //..
[Java] 김영한의 자바 중급 1편 #6 - 날짜와 시간 라이브러리 김영한 선생님의 자바 중급을 듣고 정리한 내용입니다.    1. 자바 날짜와 시간 라이브러리 역사JDK 1.0 : java.util.DateJDK 1.1 : java.util.CalanderJoda-Time 오픈소스 라이브러리 도입으로 사용성, 성능, 문제가 일부 해결됨외부 라이브러리가 아니기 때문에 프로젝트에 별도로 추가해야 했음..Java 8에서 java.time 패키지를 표준 API로 도입JDK 8(1.8) (java.time 패키지)이전 API 문제점을 해결하면서 사용성, 성능, 스레드 안정성, 타임존 처리 등에서 크게 개선불변 객체로 설계되었으며 사이드 이펙트, 스레드 안정성 보장, 보다 직관적인 API 제공으로 날짜와 시간 연산을 단순화함LocalDate, LocalTime, LocalDate..
[Java] 김영한의 자바 중급 1편 #5 - ENUM 김영한 선생님의 자바 중급을 듣고 정리한 내용입니다.    1. 문자열과 타입 안정성 - 문자열Java가 제공하는 Enum Type을 왜 사용하는지에 대해서 알아보자. 만약 Enum Type을 사용하지 않고 문자열을 사용한다면 다음의 문제들이 발생할 수 있다. 타입 안정성 부족 : 문자열의 경우 오타가 발생하기 쉽고 유효하지 않은 값이 입력될 수 있다.데이터 일관성 부족 : 다양한 형식으로 문자열이 입력될 수 있어서 일관성이 떨어질 수 있다.값의 제한 부족컴파일 시 오류 감지 불가 이런 문제를 해결하려면 문자열이 아닌 특정 범위로 값을 제한해야 한다. 예를 들어 BASIC, GOLD, DIAMOND라는 정확한 문자만 사용될 수 있어야 한다. 하지만 String 클래스는 어떤 문자들 받을 수 있기 때문에 ..
[Java] 김영한의 자바 중급 1편 #4 - 래퍼 클래스 김영한 선생님의 자바 중급을 듣고 정리한 내용입니다.    1. 기본형의 한계int, double 같은 기본형(Primitive Type)들은 객체가 아니다.자바는 객체 지향 언어이다. → 서로 뭔가 맞지 않다. 자바는 객체 지향 언어인데 int, double 같은 것들은 Primitive Type이기 때문에 객체가 아니다.따라서 다음의 한계들이 존재한다. 객체가 아니다. 따라서 객체 지향 프로그래밍의 장점을 살릴 수 없다.null 값을 가질 수 없다. 때로는 데이터가 없음을 나타내기 위해 null을 사용해야할 수 있는데 기본형은 항상 값을 가져야하기 때문에 이런 표현을 할 수 없다.   2. 래퍼 클래스래퍼 클래스는 뭔가를 감싼 클래스이다.기본형들도 이 래퍼 클래스를 통해 더 편리하게 사용할 수 있게 ..
[Java] 김영한의 자바 중급 1편 #3 - String 클래스 김영한 선생님의 자바 중급을 듣고 정리한 내용입니다.  1. String 클래스자바에서 문자를 다루는 대표적인 타입은 char, String 2가지가 있다. package stringClass;public class CharArrayMain { public static void main(String[] args) { char[] charArr = new char[]{'h', 'e', 'l', 'l', 'o'}; System.out.println(charArr); String str = "hello"; System.out.println("str = " + str); }}# 실행 결과hellostr = hello  하지만 이렇게 char[]을 직접..
[Java] 김영한의 자바 중급 1편 #2 - 불변 객체 객체의 상태, 즉 객체 내부의 값이나 필드, 멤버 변수가 변하지 않는 객체를 불변 객체라고 한다.그렇다면 불볍 객체를 왜 사용하는 것일까? 기본형과 참조형의 공유에 대해서 먼저 알아본다. 1. 기본형과 참조형의 공유자바의 데이터 타입을 보면 크게 다음의 타입으로 나눌 수 있다.기본형 : 하나의 값을 여러 변수에서 절대로 공유하지 않음참조형 : 하나의 객체를 참조값을 통해 여러 변수에서 공유함 1.1. 기본형 예제기본형 : 하나의 값을 여러 변수에서 절대로 공유하지 않는다.→ b = a 라고 하면 자바는 항상 값을 복사해서 대입한다.    1.2. 참조형 예제b = a 라고 할 경우 a라는 인스턴스의 메모리 참조값인 x001을 b에 대입하는 것이다. 참조형 예제에서 볼 수 있듯이, 여러 변수가 하나의 객체..

반응형