Java

    Try-with-resource

    Try-with-resources 자바 라이브러리에는 close 메소드를 호출해 직접 닫아줘야하는 자원이 많다. InputStream, OutputStream, java.sql.Connection 등이 좋은 예다. 자바를 이용해 외부 자원에 접근하는 경우 한가지 주의해야할 점은 외부자원을 사용한 뒤 제대로 자원을 닫아줘야한다는 점이다. 자원 닫기는 클라이언트가 놓치기 쉬운 부분이기 때문에 예측할 수 없는 성능 문제로 이어질 수 있기 때문이다. try-with-resources는 try(...)에서 선언된 객체들에 대해서 try가 종료될 때 자동으로 자원을 해제(종료)해주는 기능이다. 즉, 따로 finally 블록이나 모든 catch 블록에 종료 처리를 하지 않아도 된다. try에서 선언된 객체가 Auto..

    final 키워드

    final keyword final 키워드를 떠올릴 때면 그냥 상수로만 생각할 때가 종종 있다. final을 변수, 메소드, 클래스에 선언하면 조금씩 할 수 있는 부분들이 제한 된다. 자바에서 final 키워드는 여러 컨텍스트에서 오로지 한 번 할당될 수 있는 entity를 정의할 때 사용된다. [위키피디아] 재 정의를 못하게 하는것 한 번 인스턴스가 할당되면 절대 재할당 될 수 없는것 final 키워드는 총 3가지에 적용할 수 있다. final 변수 원시타입, 객체타입, 클래스 필드, 메소드 인자 final 메소드 fianl 클래스 final 키워드 활용 및 사용법 final 변수(필드) 해당 변수가 생성자나 대입연산자를 통해 한 번만 초기화 가능함을 의미한다. 상수를 만들 때 응용한다. 1. 원시타입..

    static(정적) 키워드

    Static Keyword (정적 키워드) Java 에서 Static 키워드를 사용한다는것은, 메모리에 한번 할당되어 프로그램이 종료될 때 해제되는 것을 의미한다. 정적(Static) 이란? 정적(static)은 클래스의, 공통적인, 고정된이란 의미를 가지고 있다. static 키워드를 사용하여 static 변수와 static 메소드를 만들 수 있는데, 다른말로 정적 필드와 정적 메소드라고 하고 이 둘을 정적 맴버라고 한다. (클래스 맴버라고도 한다) static 변수와 static 메소드는 인스턴스(객체)에 소속된 맴버가 아니라 클래스에 고정된 맴버이다. 인스턴스 변수는 하나의 클래스로부터 생성되었더라도 각기 다른 값을 유지하지만, 클래스 변수(static 맴버변수)는 인스턴스(객체)에 관계없이 항상 ..

    지역변수, 전역변수, 인스턴스 변수, 클래스 변수

    하나의 클래스는 필드, 생성자, 메소드로 구성된다. field (필드) Java에서 field는 클래스 영역 안에 선언한 변수(variable)이다. 필드는 다른 말로 멤버 변수(member variable)나 전역 변수(global variable)라고 불린다. 변수라는 말처럼 필드는 어떠한 (객체)데이터를 저장하기 위한 역할을 담당한다. 메소드 안에 선언되는 변수는 지역 변수(local variable) 라고 부른다. 변수는 선언위치에 따라 지역변수(Local variable)와 전역변수(Global variables)로 나뉘어 진다. 지역변수(Local variables) 선언 위치 : 클래스 영역 이외의 영역( 메소드, 생성자, 초기화 블럭 내부) 생성시기 : 변수 선언문이 수행 되었을 때 특징:..

    기본자료형 & 참조자료형

    Primitive data type & Reference data type 자바에는 기본 자료형 (primitive data type) / 참조 자료형(reference data type) 이 있다. 기본 자료형 (primitive data type) 논리형 : boolean 문자형 : char 정수형 : byte, short, int, long 실수형 : float, double 참조 자료형 (reference data type) class type (클래스) interface type (인터페이스) array type (배열) enum type (열거) 기타.. 기본 자료형(Primitive Data Type) 자바 컴파일러에 의해 해석되는 자료형태를 기본 자료형이라고 한다. [특징] 총 8가지의 기..

    Call by value. VS Call by reference.

    call by value : 값에 의한 호출 함수가 호출될때, 메모리 공간 안에서는 함수를 위한 별도의 임시공간이 생성된다 cf) 종료시 해당공간 사라짐 값에 의한 호출 방식은 함수 호출 시 전될되는 변수 값을 복사해서 함수 인자로 전달 한다. 이때 복사된 인자는 함수 안에서 지역적(local)으로 사용되기 때문에 local value 속성을 가진다. 따라서, 함수 안에서 인자 값이 변경되더라고, 외부 변수 값은 변경되지 않는다. ex) call by reference : 참조에 의한 호출 call by reference 호출 방식은 함수 호출 시 인자값을 메소드로 넘겨줄때 그 객체를 참조하는 주소를 넘겨주는 형태이다. 메소드 내에서도 원래의 값에 접근이 가능하다. 따라서, 함수 안에서 인자 값이 변경되..