
파일 내용을 합칠 일이 드물지만 일하는 중 SQL 파일을 하나로 합쳐야 하는 경우가 생겼습니다. Java NIO(New Input/Output)는 JDK 1.4부터 도입된 새로운 입출력 API로, 기존 IO 보다 빨라졌다고 하네요. Java NIO란 뭘까New Input/Output의 약자로, 기존 IO의 느린 처리 속도를 개선하고 효율적인 입출력 작업을 제공하기 위해 도입된 API입니다. 그렇다면 IO는 뭘까자바의 표준 라이브러리로, 프로그램과 외부 (파일, 네트워크 등) 간의 데이터를 입출력하는 기능을 제공합니다. Java IO는 JDK1.0부터 포함된 API로, 스트림 기반의 동기식 입출력을 제공합니다. 자바에서 파일 읽기, 파일 쓰기, 네트워크 통신 등의 다양한 입출력 작업을 수행하는 데 사용되겠..

Java에서 XML을 파싱 하기 위해 사용되는 인터페이스들이다. 사용하는데 시각적으로 보여드리자면 대표적인 사용법은 Node란 Node (Java Platform SE 8 ) cloneNode Node cloneNode(boolean deep) Returns a duplicate of this node, i.e., serves as a generic copy constructor for nodes. The duplicate node has no parent ( parentNode is null) and no user data. User data associated to the imported node is not carri docs.oracle.com xml 문서의 구성 요소 속성, 텍스트, 주석 등을 ..

평소 이클립스나 인텔리제이만 써오다가 vscode를 사용하다 보니 익숙하지 않은 툴 사용 때문에 고통받고 있습니다. vscode에서 getter setter를 클릭 몇 번으로 생성해 보겠습니다. 자바 컴파일 실행 환경을 구축했다면 dto 만들어서 바로 게터세터 만들겠습니다. DTO 만들기 package com.example.dto; import java.util.Map; public class UserDto { private String userId; private String userPw; private Map userInfo; @Override public String toString() { return "MyDataDTO{" + "userId='" + userId + '\'' + ", userPw=..

자바 프로그래밍에서 상속과 오버로딩은 객체지향 프로그래밍의 핵심 개념 중 하나로, 코드의 재사용성과 유연성을 높이는 데 중요한 역할을 합니다. 상속은 is-a 관계를 표현하며, 기존 클래스의 특성과 기능을 새로운 클래스에게 물려줌으로써 코드의 중복을 최소화하고 확장성을 높입니다. 예를 들어, 동물 클래스가 있다면 이를 상속받는 사자, 닭, 돌고래 클래스는 동물의 공통된 특성과 기능을 재사용할 수 있습니다. 이렇게 상속을 통해 클래스를 작성하면, 코드를 처음부터 새롭게 작성할 필요 없이 기존 클래스의 일부를 재활용하여 새로운 클래스를 정의할 수 있습니다. 또한, 오버로딩은 같은 이름의 메서드나 생성자를 여러 개 정의하여 매개변수나 타입을 다르게 함으로써 다양한 입력에 대응할 수 있습니다. 이를 통해 한 개..

자바 객체지향 프로그래밍에서는 데이터를 효과적으로 관리하고 외부 접근을 안전하게 제어하기 위해 Getter와 Setter메서드를 활용합니다. 이 기능들을 정보 은닉과 캡슐화의 핵심이며, 데이터 클래스의 설계를 보다 효과적으로 만들어줍니다. Getter와 Setter의 역할 Getter는 클래스의 필드값을 외부에서 읽을 수 있도록 해주고, Setter는 필드 값을 변경할 수 있도록 해줍니다. 이를 통해 데이터의 캡슐화가 이루어지며, 외부에서 직접 접근하지 못하도록 하는 정보 은닉이 가능해집니다. 클래스 A의 예시를 살펴보면, private로 선언된 필드에 대한 Getter와 Setter를 제공하여 외부에서 안전하게 데이터를 다룰 수 있도록 합니다. class A { private int a; public ..

프로그래밍을 공부하다 보면 함수라는 단어를 많이 들어보셨을 겁니다. 자바에서는 이 '함수'를 '메서드'라고 부릅니다. 메서드는 프로그램의 기능을 구현하는데 이어 핵심적인 역할을 하는데요, 자바에서는 메서드를 크게 두 가지 형태로 구분할 수 있습니다. 하나는 '인스턴스 메서드(instance method)'dlrh, 다른 하나는 '정적 메서드(static method)'입니다. 1. 인스턴스 메서드 인스턴스 메서드는 객체마다 독립적으로 존재하는 메서드입니다. 이 메서드는 'this' 키워드를 가지고 있으며, 객체가 생성된 후에만 사용 가능합니다. 또한 이 메서드는 필드를 외부에서 사용할 수 있습니다. 자바에서 흔히 일반적으로 정의하고 사용하는 메서드이다. public class MyClass{ privat..

JAVA에서 디버깅 모드를 사용하는 이유는 코드의 동작을 이해하고, 오류를 찾아 수정하는 데 도움이 되기 때문입니다. 디버깅 모드에서 코드의 실행을 단계별로 진행하고, 변수의 값을 실시간으로 확인할 수 있습니다. 개발 툴에서 오류날것 같은 부분을 잘 잡아주길래 저는 디버깅 모드를 잘 사용하지 않았었습니다. 하지만 코드가 길어지고 서비스를 하려고 테스트도 해보다보면 별 이상한 버그와 에러가 많이 나더라고요. 의문의 예외도 코드의 데이터를 볼 수 있다보니까 버그를 잡는데 훨씬 편리했습니다. 그래서 문제와 해결하는데 사용했던 디버깅 모드를 공유하겠습니다. 용어 및 기능 Breakpoint 중단점프로그램을 디버깅 모드로 실행하다가 중단점으로 설정돼 있는 코드 라인을 만나면 실행 가능 불가능 여부를 떠나 중단하고..

Java에서의 String과 메모리 할당에 대해 응용하고 이해해보려 합니다. 특히, 주소값과 데이터값의 차이점을 이해하는 것이 중요한 주제입니다. 먼저, String클래스를 사용해 문자열을 생성하고 출력하는 코드를 보면 public class StringArray { public static void main(String[] args) { String str = new String("Superman"); String str2 = new String("Batman"); System.out.println(str); System.out.println(str2); String str3 = "Superman"; String str4 = "Batman"; System.out.println(str3); System...

우선 2행 3열 배열을 만들어서 출력해 보면 public class Test2 { public static void main(String[] args) { int [][]arr = new int [2][3]; for(int i=0;i

이 내용은 사실 다른 클래스를 호출해 메서드를 사용하는 게 전부입니다. 1번 클래스에서는 다른 컨트롤레어소 데이터를 사용할 수 있도록 getter메서드를 제공해 주는 것이고 2번 클래스에서는 1번 클래스를 생성하여 getter메서드로 데이터를 가지고 오는 것이다. 1. 데이터를 가지고 있는 컨트롤에서 ObservableList 객체를 생성하고 데이터를 추가합니다. public class BookListController { private ObservableList bookList = FXCollections.observableArrayList(); public void initialize() { // 책 데이터를 가져와서 bookList에 추가하는 코드 작성 // 예시로 book1, book2, book..