728x90
인기글
최신 글
- 자바 메서드 호출과 값 복사 그리고 오버로딩 자바에서의 메서드 호출과 값 복사는 아주 중요한 개념입니다. 여기서 핵심은 "자바는 항상 변수의 값을 복사해서 대입한다"는 것입니다. 이 원칙을 이해하면 메서드 호출 시 어떤 값이 변하고, 어떤 값이 변하지 않는지 쉽게 알 수 있습니다. 예제를 통해 설명해 보겠습니다.예제 1: 변수의 값 복사다음 코드는 num1 값을 num2에 복사한 후, num2를 수정해도 num1은 영향을 받지 않는 예시입니다.코드 예시:public class MethodValueExample { public static void main(String[] args) { int num1 = 5; int num2 = num1; // num1의 값(5)을 num2에 복사 num2 = 10; ..
- Java 메서드로 중복 코드 간편하게 관리하기 두 숫자를 더하는 간단한 기능 만들기코딩을 처음 배우거나 새로운 로직을 작성할 때, 가장 많이 연습하게 되는 예제 중 하나가 두 숫자를 더하는 간단한 연산입니다. 이번에는 두 숫자를 더한 결과를 출력하는 코드를 작성해 보겠습니다. 예를 들어 1 + 2 와 10 + 20 의 연산을 수행해 볼 것입니다.package method;public class Method1 { public static void main(String[] args) { // 계산1 int a = 1; int b = 2; System.out.println(a + "+" + b + " 연산 수행"); int sum1 = a + b; System.out.prin..
- 배열 선언과 생성 이해하기 int[] students; // 1. 배열 변수 선언students = new int[5]; // 2. 배열 생성1. 배열 변수 선언int[] students; 는 배열 변수를 선언하는 방법입니다. 일반 변수와의 차이점은 int 타입 뒤에 대괄호 [] 가 들어간다는 점입니다. 이 선언으로 배열이 실제로 만들어지는 것은 아니며, 배열을 담을 수 있는 변수를 만드는 것입니다.2. 배열 생성배열 변수를 선언한 후, new int[5]; 구문으로 실제 배열을 생성합니다. 여기서 int[5] 는 int 타입의 변수를 5개 만들겠다는 의미입니다. 즉, 5개의 int 변수를 연속으로 생성하여 하나의 배열로 관리할 수 있게 됩니다.배열의 특징배열은 같은 타입의 데이터를 묶어 관리하기 때문에 데이터 개수가 많아질수록 ..
- 자바에서 Scanner 클래스를 활용한 사용자 입력 받기 자바에서 System.out을 통해 출력을 할 수 있는 것처럼, System.in을 통해 사용자 입력을 받을 수 있습니다. 하지만 System.in을 사용하는 방식은 약간 복잡하여, 이를 간편하게 해주는 도구가 필요합니다. 자바에서는 이러한 문제를 해결하기 위해 Scanner 클래스를 제공합니다. 이 클래스를 사용하면 사용자의 입력을 쉽게 처리할 수 있습니다. 이번 글에서는 Scanner 클래스를 사용하여 다양한 방식으로 사용자 입력을 처리하는 방법을 살펴보겠습니다.1. 기본적인 Scanner 사용법예제 코드 1: 간단한 문자열, 정수, 실수 입력받기package scanner;import java.util.Scanner;public class Scanner1 { public static void ..
- 자바의 형변환(Casting) 이해하기 자바에서는 서로 다른 타입의 데이터를 변환하여 사용할 수 있습니다. 이를 형변환이라 부르며, 작은 데이터 타입에서 큰 데이터 타입으로 변환할 때는 자동으로 이루어집니다. 하지만 큰 데이터 타입에서 작은 데이터 타입으로 변환할 때는 명시적 형변환을 통해 직접적으로 변환을 지시해야 합니다. 이 글에서는 자바에서 자동 형변환과 명시적 형변환에 대해 살펴보겠습니다.1. 자동 형변환 (Implicit Casting)자바에서는 작은 범위의 타입에서 큰 범위의 타입으로 데이터를 변환하는 경우, 별다른 지시 없이도 자동으로 형변환이 이루어집니다. 예를 들어, int에서 long, 또는 long에서 double로 변환할 때 문제가 발생하지 않습니다. 다음 예제를 보겠습니다.package casting;public cla..
- 지역 변수와 스코프 프로그래밍에서 변수는 선언된 위치에 따라 지역 변수와 멤버 변수로 나눌 수 있는데, 이번 포스트에서는 지역 변수에 대해 다룹니다. 지역 변수는 특정 코드 블록 안에서만 생존하며, 블록을 벗어나면 더 이상 접근할 수 없습니다. 이 변수의 범위(Scope)는 바로 해당 변수가 선언된 코드 블록을 의미하며, 코드의 효율성과 메모리 관리에 중요한 역할을 합니다.지역 변수의 스코프 예시public class Scope1 { public static void main(String[] args) { int m = 10; // m은 main 블록에서 선언됨 if (true) { int x = 20; // x는 if 블록에서 선언됨 System.out..
- Spring Boot로 엑셀 파일 파싱 및 주소 기반 데이터 조회 처리하기 엑셀 파일을 통한 대량의 데이터를 처리하는 기능은 다양한 서비스에서 매우 유용하게 사용됩니다. 이번 포스트에서는 Spring Boot로 엑셀 파일을 업로드하고, 그 데이터를 데이터베이스에 저장하는 과정을 함께 살펴보겠습니다. 이 기능은 주로 관리자가 다수의 건물 정보를 한 번에 업데이트해야 할 때 활용됩니다.엑셀 파일 업로드 흐름엑셀 파일 업로드의 흐름은 다음과 같이 진행됩니다:엑셀 파일 업로드 요청: 클라이언트에서 엑셀 파일을 업로드합니다.엑셀 파일 파싱: 업로드된 엑셀 파일의 내용을 읽어들여 각 셀의 값을 처리합니다.주소 정보 매핑 및 데이터베이스 조회: 엑셀 파일에 포함된 주소 데이터를 기반으로 추가 정보를 조회하여 건물 번호를 확인합니다.데이터 저장: 파싱된 데이터를 데이터베이스에 삽입 또는 업데..
- 네이버 검색 API와 도로명주소 API를 이용한 검색 서비스 구축 최근 많은 서비스들이 위치 기반 검색 기능을 필요로 합니다. 도로명주소나 네이버 검색 API 같은 공공 데이터와 결합하면 더 유용한 정보를 제공할 수 있는데요, 이번 포스트에서는 네이버 검색 API와 도로명주소 API를 활용하여 키워드를 통해 도로명 주소를 검색하고, 이를 좌표로 변환하는 과정을 Java로 구현한 예제를 소개해드리겠습니다.1. 네이버 및 도로명주소 API 키 발급먼저 네이버 개발자 센터와 도로명주소 API에서 각각 API 키를 발급받아야 합니다. 네이버 검색 API는 ClientId와 ClientSecret을, 도로명주소 API는 ROAD-CONFMKEY와 COORD-CONFMKEY 키를 발급받아야 합니다. 이 키들은 API 요청을 인증하는 데 필수입니다.String clientId = ..
- 자바의 for 문 이해하기 for 문은 반복 횟수가 미리 정해졌을 때 주로 사용되며, 특정 조건이 만족될 때까지 코드를 반복 실행합니다. 반복 작업을 간단하고 효율적으로 처리할 수 있도록 도와줍니다.for 문의 기본 구조for (초기식; 조건식; 증감식) { // 실행할 코드}초기식: 반복문이 시작될 때 한 번 실행되며, 주로 반복 카운터 변수를 초기화할 때 사용됩니다.조건식: 각 반복 전에 조건을 확인하며, 참이면 반복을 계속하고 거짓이면 반복이 종료됩니다.증감식: 각 반복이 끝날 때마다 카운터 변수를 증가 또는 감소시킵니다.다음은 1부터 10까지 출력하는 예시입니다:for (int i = 1; i 문제: i부터 endNum까지 합 구하기i부터 endNum까지의 합을 구하는 for 문 예시:int sum = 0;int en..
- Java 반복문: do-while, break, continue를 활용한 실전 예제 이번 포스팅에서는 Java에서 자주 사용하는 반복문인 do-while 문과 break, continue 구문을 중심으로 다뤄보겠습니다. 각각의 문법을 실제 코드 예제와 함께 설명하고, 어떻게 활용할 수 있는지 알아보겠습니다.1. do-while 문do-while 문은 일반적인 while 문과 비슷하지만, 차이점은 조건에 상관없이 코드 블럭을 최소 한 번은 실행한다는 것입니다.do-while 문 구조do { // 실행할 코드} while (조건식);즉, 조건이 거짓이더라도 처음 한 번은 무조건 실행됩니다. 먼저 while 문과 비교해보겠습니다.while 문 예제package loop;public class DoWhile1 { public static void main(String[] args) ..
728x90