자바 가변인자는 자바 5부터 도입된 기능으로, 기존에는 매개변수 개수가 고정적이었으나 동적으로 지정해 줄 수 있는 기능이다.
프로그램이 실행 중 어떤 원인에 의해서 오작동을 하거나 비정상적으로 종료되는 경우가 있다. 이러한 결과를 초래하는 원인을 프로그램 에러 또는 오류라고 한다.다음과 같이 세가지로 구분할 수 있다.컴파일 오류 : 컴파일 시 발생하는 에러런타임 에러 : 실행 시에 발생하는
모든 클래스의 최고 조상이기 때문에 Object 클래스의 멤버들은 모든 클래스에서 바로 사용 가능하다.멤버변수는 없고, 오직 11개의 메서드만을 가지고 있다.이 메서드들은 모든 인스턴스가 가져야 할 기본적인 것들이며, 우선 이 중에서 중요한 몇가지만 보자.매개변수로 객
한 번 생성된 String 인스턴스가 가지고 있는 문자열은 읽어 올 수 만 있고, 변경할 수 는 없다.\+ 연산자를 이용하여 문자열을 결합할 경우 인스턴스내의 문자열이 바뀌는 것이 아니라 새로운 문자열이 담긴 String 인스턴스가 생성되는 것이다.따라서 +연산자를 사
멀티 쓰레드 프로그래밍에서는 하나의 객체를 여러 쓰레드가 동시에 접근할 수 있기 때문에 데이터의 일관성을 유지하기 위해 공유되는 객체에 동기화(synchronization)가 필요하다.Vector, Hashtable 같은 구버전(JDK1.2 이전)의 클래스들은 자체적으
지네릭스는 다양한 타입의 객체들을 다루는 메서드나 컬렉션 클래스에 컴파일 시의 타입 체크 (compile-time type check)를 해주는 기능이다.컴파일 시에 객체의 타입을 체크한다면 객체의 타입 안정성을 높이고 형변환의 번거로움을 줄일 수 있게된다.타입 안정성
논리형boolean : 1 byte문자형char : 2 byte정수형byte : 1 byteshort : 2 byteint : 4 bytelong : 8 byteint는 CPU가 가장 효율적으로 처리 가능메모리를 절약하려면 byte or short를 사용하자실수형flo
변수는 클래스 변수, 인스턴스 변수, 지역 변수 모두 세 종류가 있다.변수의 종류를 결정짓는 중요한 요소는 바로 '변수의 선언된 위치'이다.멤버변수를 제외한 나머지 변수들은 모두 지역변수이며, 멤버변수 중 static이 붙은 것은 클래스변수,붙지 않은 것은 인스턴스 변
Stream은 for loop에 비해 간단한 연산을 수행하는데 더 많은 시간이 걸린다고 알려져 있다.실제로 자바로 알고리즘 문제를 풀다가 Stream을 쓴 코드에서 TLE를 받아 고친적도 있다.이번에도 알고리즘 문제를 풀다 문득 궁금해져서 가볍게 다뤄보려 한다.우선 실