본문 바로가기

java

(5)
자바 ArrayList 선언과 ArrayList 초기화 방법 자바에서 배열선언을 위해서 보통 int[] 변수명 = new int[];와 같이 배열을 선언을 하도록 되었습니다. 그러나 java에서는 ArrayList의 라이브러리를 별도로 제공 하고 있는데요. 우리가 ArrayList를 통해서 배열을 선언하는 방법을 알아야 하는 이유는 무엇일까요? 우리가 길이가 10인 배열을 선언하고 중간 5번째 배열의 값을 비워줘야 하는 상황이 생겼다면 어떻게 해야 될까요? 이럴 경우 중간에 있는 배열의 자리를 당기기 위해서 우리는 배열 요소의 위치를 변경해줘야 하는 상황이 생기는데요 이렇게 되면 가변적으로 배열의 길이가 자주 봐뀌는 경우에는 사용하기 불편함이 많을 것 입니다. 하지만 ArrayList를 사용해 배열을 선언하게 되면 손쉽게 배열을 관리 할수가 있습니다. 배열의 클래..
자바 배열 복사 2가지를 기억하자 프로그래밍을 하다 보면 배열의 자료형 과 크기가 똑같은 배열을 새로 만들거나 배열의 모든 요소에 자료가 가득차게될 경우 더 큰 배열을 만들어 기존 배열의 저장된 자료를 가져오려 할 때 배열을 복사하게 되는데요. 배열 복사에는 두가지 방법이 있습니다. 첫번째는 for 문을 활용한 배열 복사이고 두번째는 System.arraycopy() 함수를 사용하여 하는 것 입니다. 우선 먼저 System.arraycopy() 함수를 알아보도록 하겠습니다. System.arraycopy(src, srcPos, dest, destPos, length)의 매개변수를 가지는 함수로 각각의 매개변수의 대한 설명은 아래와 같습니다. 배열 복사 함수를 사용할 경우 복사하려고 하는 대상 배열의 전체 길이가 복사할 요수 개수보다 작다..
자바 static 정적변수 클래스 메서드 사용하는 방법 static 변수란 클래스 전반에서 공통으로 사용할 수 있도록 하는 기준 변수로서 위의 코드와 같이 학생의 번호를 중복되지 않도록 구현해야 할때 사용이 됩니다. 보통 기준 변수의 값을 증가시킨뒤 각 인스턴스의 변수에 대입을 해주는 방식으로 사용하며 이러한 기준 변수는 다른 용어로 '정적변수'라고 표현합니다. 자바에서 static 변수를 사용하기 위해서는 static(예약어) 자료형(int, long, String ...) 변수이름 ;의 형식에 맞추어 선언을 하게 됩니다. static 변수의 경우 인스턴스 마다 생성되는 변수가 아니다 보니 프로그램이 실행되었을때 메모리에 올라가 공간을 할당 받게됩니다. 위의 예제에서는 공통되는 메모리 주소값을 참고한다는 것을 보여주기 위해 예시를 보여드렸습니다. 이제 학생..
은근 모르는 자바 접근 제어자 4종 꿀팁 객체 지향 프로그램에서는 예약어를 이용해 클래스 내부의 변수나 메서드 생성자에 대한 접근 권한을 지정할 수 있는데 이러한 예약어를 접근 제어 자라고 말을 합니다. 보통 public의 예약어를 두고 선언한 변수나 메서드는 외부 클래스에서 접근이 가능하며 외부 클래스가 사용할 수 있다는 뜻인데 처음 공부를 할 때 많이 사용을 하는 접근제어자입니다. 보통 접근제어 자라고 하면 3종으로 앞서 말씀드린 public, private, protected을 주로 생각하기 마련인데 default까지 포함하여 총 4종의 접근제어자가 있습니다. 하나씩 간단하게 설명을 해 드려 보겠습니다. 우선 public은 접근 제한이 전혀 없는 것으로 우리가 학교를 예시로 들면 운동장과 공터 등 학생이 아니라도 모두가 이용이 가능한 공간..
간단한 생성자 종류 3가지 디폴트 생성자, 오버로딩, 오버라이딩 생성자란? 자바와 같은 객체 지향 프로그램밍에서 객체의 초기화를 담당하는 역활을 하며 생성자는 객체가 처음 생성될 때 호출되어 맴버 변수의 값을 초기화 하고 클래스 내부의 프로그래밍에 따라 값을 할당하기도 한다. 생성자는 객체 생성 시에 호출이 되기 때문에 생성자라는 이름이 생기게 되었다. 대표적인 객체 지향 언어로는 c++, java, c#이 있다. 자바에서는 생성자를 통해 클래스를 호출할 때 해당 클래스의 내부에서 생성자를 찾게 되는데 이때 아무런 생성자가 존재하지 않을때 디폴트 생성자라는 것을 생성하게 된다. 이것은 컴파일러가 자동으로 제공하는 것이며 아무런 매개변수를 받지 않는 형태로 생성이 되어진다. 디폴트 생성자는 모든 경우에 생성이 되는 것은 아니며 프로그래머가 클래스 내부에 별도의 매개변수..