Java

    참조 타입과 메모리 사용 영역 (+Java 코드 실행 과정)

    참조 타입과 메모리 사용 영역 (+Java 코드 실행 과정)

    도서 『혼자 공부하는 자바』 를 참고하였습니다. 자바의 타입은 크게 기본 타입(primitive type)과 참조 타입(reference type)이 있다. 기본 타입과 참조 타입 기본 타입은 정수 타입(byte, char, short, int, long), 실수 타입(float, double), 논라 타입(boolean)을 저장하는 타입이다. 참조 타입은 객체 object의 번지를 참조하는 타입이며 배열, 열거, 클래스, 인터페이스를 말한다. 기본 타입은 실제 값을 변수 안에 바로 저장하지만 참조 타입은 변수 안에 메모리의 번지를 저장한다. 번지를 통해 객체를 참조한다는 뜻에서 참조 타입이다. 큰 차이점은 참조 타입에는 null 을 저장할 수 있다는 것이다. 만약 힙 영역의 객체를 참조하고 있는 변수에..

    [짧은글] 컬렉션 프레임워크 (Collections Framework)

    [짧은글] 컬렉션 프레임워크 (Collections Framework)

    이번 포스팅에서는 자바의 컬렉션 프레임워크에 대해 간단히 정리해보려 합니다. (짧은 글!) 컬렉션 프레임워크는 JDK 1.2부터 등장했는데요, 컬렉션 프레임워크는 대량의 데이터 군을 표현하고 이를 효율적으로 다룰 수 있도록 제공하는 표준화된 방법을 제공합니다. 이미 저희가 많이 사용하고 있는 자료구조를 떠올려보면 ArrayList, HashMap 등등이 떠오르는데요, 이것들은 각 인터ㅔ이스의 구현체입니다. 자바 컬렉션 프레임워크 👉자바 컬렉션 프레임워크란, 대량의 데이터를 효율적으로 처리할 수 있는 기능을 제공하는 클래스의 집합! 을 의미한다. 👉데이터를 저장하는 자료구조와 데이터를 처리하는 알고리즘을 구조화해서 클래스로 구현한 것이다. 👉주로 사용되는 인터페이스 (java.util.~) List Set..

    제네릭과 Wrapper 클래스

    제네릭과 Wrapper 클래스

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

    예외 처리 (이론)

    예외 처리 (이론)

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

    기초 #11. 중첩 인터페이스와 익명 객체 (+예제 1,2)

    기초 #11. 중첩 인터페이스와 익명 객체 (+예제 1,2)

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

    기초 #10. 추상 클래스 Shape (추상클래스 예제편)

    기초 #10. 추상 클래스 Shape (추상클래스 예제편)

    ▶추상클래스에는 추상메서드와 일반 메서드 둘다 정의될 수 있고, ▶추상메서드를 정의할 때는 블록 구현이 없는 것이 특징이다. 1. 추상 클래스 Shape 코드와 상속받는 두 클래스 Rect, Tri public abstract class Shape { double area;//만약 final static double area;로 선언한다면 하위클래스에서 사용하지 못함. public abstract void draw(double w, double h);//블록{}이 구현되지않은 추상메서드! 무조건 재정의. final static void function() { System.out.println("추상 클래스의 정적 메서드입니다. 재정의 못해요."); } } class Rect extends Shape { ..