본문 바로가기

Java6

[ Java ] 1차원, 2차원 배열 복사 - 깊은 복사와 얕은 복사 얕은 복사 - 복사 시 객체의 주소 값을 복사하여 동일한 주소 값을 가진다. - 즉 원래 배열의 주솟값을 가져오는 것 - 같은 곳을 가리키기 때문에 한쪽에서 데이터를 변경하면 다른 한쪽도 변경된 데이터에 접근할 수 있다. 깊은 복사 - 복사 시 객체의 데이터 자체를 복사하여 다른 주솟값을 가진다. - 즉 원래 배열을 그대로 가져오는 것 1차원 배열 복사 1. ' = ' 사용 [ 얕은 복사 ] 자바에서 객체를 ' = ' 을 통해 복사하게 되면 얕은 복사가 일어나 두 객체가 같은 곳을 바라보게 된다. 2. clone() 함수 사용 [ 깊은 복사 ] 만약 같은 공간을 가리키는 것이 아니라 배열의 값 자체를 복사하여 새로운 공간에 할당하고 주소를 받고 싶다면 배열의 clone() 함수를 사용하면 된다. 아래 코.. 2024. 2. 8.
[ Java ] int을 String으로, String을 int로 바꾸기 String → int 1. Integer.parseInt()함수 사용하기 2. String.valueof()함수 사용하기 int → String 1. Integer.toString()함수 사용하기 2. int타입의 변수 + "" 2024. 1. 30.
[ JAVA ] Queue 클래스 Queue 줄을 지어 순서대로 처리되는 자료구조로 데이터를 일시적으로 쌓아두기 위해 사용된다. 스택 ( FILO - First In Last Out ) 과 다르게 FIFO( First In First Out )구조를 가진다. BFS에서 사용된다. [ 사용법 ] import java.util.LinkedList; import java.util.Queue; Queue queue = new LinkedList(); //int형 queue 선언, linkedlist 이용 Queue allqueue = new LinkedList(); // 어떠한 자료형이든 삽입, 삭제 가능 = int와 String 데이터 공존 [ 데이터 추가 ] add(value) , offer(value)를 사용하여 추가할 수 있다. add(.. 2023. 11. 6.
[JAVA] ArrayList와 ArrayList 배열 (비정형 배열) ArrayList 기존의 배열 불편한 점 배열의 크기를 미리 할당하고 해당 크기 안에서만 사용가능 만약 더 많은 데이터를 담거나 데이터를 삭제 시 배열의 크기를 변경시키고 index 변경을 해야한다. 배열의 크기를 미리 할당하지 않고 데이터를 자유롭게 추가 및 삭제하고 싶다면 ArrayList를 사용하는 것이 하나의 방법이다. ArrayList는 일반 배열과 동일하게 인덱스 0부터 연속적인 메모리 공간을 사용한다. 내부적으로는 저장이 가능한 메모리 용량(capacity)과 현재 사용 중인 공간의 크기(size)가 존재한다. [ 선언법 ] import java.util.ArrayList; ArrayList list = new ArrayList(); // 데이터타입 선언을 하지않는 경우 object로 설정 .. 2023. 11. 4.
Java - 오버라이딩(Overriding)과 오버로딩(Overloading) 비슷한 이름 때문인지 공부해놓고 시간이 지나면 항상 헷갈리는 그 개념 바로 오버라이딩과 오버로딩에 대해 정리해놓을까 한다. 오버로딩이란? 자바의 한 클래스 내에 이미 사용하려는 이름과 같은 이름을 가진 메소드가 있어도 매개변수의 개수 또는 타입이 다르면 같은 이름을 사용해 메소드를 정의할 수 있는 것이다. 오버로딩의 경우 리턴타입이나 접근 지정자는 영향을 주지 않는다. 즉 이름이 같더라도 매개 변수만 다르다면 같은 이름의 함수를 사용하더라도 정상 작동한다는 것이다. 오버라이딩이란? 부모 클래스로부터 상속받은 메소드를 자식 클래스에서 재정의하는 것으로 쉽게 말하면 덮어쓰기라고 생각하면 된다 :) 그러나 오버로딩과 다르게 오버라이딩의 경우 메소드의 이름, 매개변수, 리턴타입이 모두 같아야 한다. 유의해야 할.. 2022. 9. 6.
Java - 입력에서 문자(char) 하나 받아오기 과거의 나와 같은 사람이 있지 않을까 해서 쓰는 정보 자바를 공부하면서 다른 언어와 유사하게 double, int, char, String 의 데이터 타입이 존재함은 알고 있었다. 그런데 한가지의 문제를 마주하게 되는데 Scanner 개념을 배운 후 문자와 관련된 문제를 푸는데 아무리 찾아봐도 nextInt(), nextDouble(), nextByte(), 심지어 nextBoolean()도 있으나 nextChar()는 보이지 않는 것이다.. 뭐지? 싶어서 찾아봤는데 자바의 경우 String으로 데이터를 받아 charAt() 이라는 함수를 통해서 문자 하나를 추출할 수 있다고 한다. Scanner scan = new Scanner(System.in); String input = scan.nextLine(.. 2022. 9. 5.