Programming/Java
생성자(Constructor) 생성자는 인스턴스를 생성하는 역할을 한다. 즉, 생성자는 인스턴스의 초기화 메서드라고 볼 수 있다. 생성자는 메서드와 유사하게 생겼지만 return이 없다. 이때 메서드는 return 이 없다고 void를 명시하지만 생성자는 void도 적어주지 않는다. 생성자의 조건 생성자의 이름과 클래스의 이름이 같아야 한다. 생성자는 리턴 값이 없다. className(parameter) { 내용 } 기본 생성자(Default Constructor) 앞에서 생성자는 인스턴스의 초기화 메서드라고 했다. 그런데 클래스 안에 생성자를 만들지 않아도 프로그램은 제대로 수행이 된다. 그 이유는 컴파일러가 클래스에 생성자가 없으면 기본 생성자를 만들어 주기 때문이다. 다음과 같이 만들고 프로그램을..
자바 클래스의 선언 위치에 따른 변수 인스턴스 변수(Instance variable, iv) 클래스 변수(Class variable, cv) 지역 변수(Local variable, lv) 클래스의 변수는 위와 같이 세 가지로 구분할 수 있다. 그중 static 키워드가 붙는 변수를 클래스 변수라고 한다. 세 변수에 대한 정의는 다음과 같다. class Variable { int iv = 0; //인스턴스 변수 static int cv = 0; //클래스 변수 void method() { int lv = 0; //지역 변수 } } 1. 인스턴스 변수(Instance variable, iv) 인스턴스 변수는 클래스 영역에 선언되고 인스턴스가 생성될 때 만들어진다. 2. 클래스 변수(Class variable..
클래스와 객체의 정의 클래스(Class) : 객체를 정의하는 설계도나 틀 객체(Object) : 클래스에 정의된 것이 메모리에 할당된 것 클래스와 객체의 관계를 설계도와 제품으로 비유할 수 있다. 제품의 설계도가 제품 자체가 될 수 없는 것처럼 클래스도 객체 그 자체가 되지는 못한다. (TV 설계도 - TV의 관계로 이해하면 이해하기 쉽다.) 인스턴스 객체와 같이 자주 쓰는 용어로 인스턴스(Instance)가 있는데 인스턴스는 클래스로부터 만들어진 객체를 인스턴스라고 한다. 즉, 객체는 인스턴스를 포괄하는 넓은 의미를 가지고 인스턴스는 어떤 클래스로부터 생성된 것인지 구체적인 의미를 갖고 있다. 인스턴스(Instance) : 클래스로부터 만들어진 객체 인스턴스화(Instantiate) : 클래스로부터 객..
자바에서 배열을 복사하는 방법 Arrays.copyOf Arrays.copyOfRange System.arraycopy 1. Arrays.copyOf(T[] original, int newLength) original - 복사할 배열 newLength - 복사할 길이 Arrays.copyOf는 배열의 시작인 0번 인덱스부터 newLength의 길이만큼 복사한다. 만약 newLength의 값이 original 배열의 길이보다 큰 값일 경우 해당하는 인덱스들의 값은 기본값으로 초기화된다. import java.util.Arrays; int[] arr = {1,2,3,4,5,6}; int[] copyOne = Arrays.copyOf(arr,3); int[] copyTwo = Arrays.copyOf(arr,..