| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
- git
- oracle
- 오블완
- Linux
- AI
- mssql
- PostgreSQL
- IntelliJ
- 개발
- 후기
- mysql
- Javascript
- 개발자
- MariaDB
- 책추천
- pandas
- docker
- 독서
- 네트워크
- 리눅스
- react
- spring
- java
- Python
- 명령어
- 티스토리챌린지
- SQL
- DBMS
- 책
- 자바
- Today
- Total
목록JAVA (68)
hanker
이번 글에서는 Java에서 컬렉션 프레임워크가 무엇인지에 대해서 알아보자. JAVA의 컬렉션 프레임워크(Collection Framework)란? 컬렉션 프레임워크는 자바에서 데이터를 효율적으로 저장하고 관리하기 위해 제공하는 데이터 구조와 알고리즘의 표준화된 아키텍처이다. 주로 여러 개의 데이터를 효과적으로 처리하기 위해 사용되며, 데이터 추가, 삭제, 검색, 정렬 등의 작업을 용이하게 수행할 수 있도록 설계되어 있다. 1. 컬렉션 프레임워크 구조 java.util ├── Collection │ ├── List │ │ ├── ArrayList │ │ ├── LinkedList │ │ └── Vector │ ├── Set │ │ ├── HashSet..
메서드 오버로딩과 오버라이딩메서드 오버로딩(Method Overloading)과 메서드 오버라이딩(Method Overriding)은 둘 다 자바에서 메서드를 재정의하는 방식이지만, 사용 목적과 방식이 다르다. 자세하게 알아보자 1. 메서드 오버로딩 (Method Overloading) 정의 같은 이름을 가진 메서드를 여러 개 정의하는 것으로, 매개변수의 타입, 개수, 순서가 다르게 하여 구분한다. 특징- 같은 클래스 내에서 사용- 메서드 이름은 같지만, 매개변수 목록이 다르다.- 반환 타입은 오버로딩의 기준이 되지 않는다. 즉, 반환 타입만 다르고 매개변수가 동일한 경우 오버로딩이 성립하지 않는다. 사용목적오버라이딩과 같은 기능을 하지만, 다양한 매개변수를 받을 수 있도록 하여 코드의 가독성과 유지..
Java 에서 문자를 변경하거나 지울 때 사용하는 replace() 함수를 이용해서 문자열에 포함되어 있는 탭을 지워봅시다. 문자열에서 tab형식을 백슬래쉬 (\)를 통해 표현되는 이스케이프 시퀀스를 replace해주면 된다. tab = \tpublic class TabReplacer { public static void main(String[] args) { String text = "Hello\tHanker"; System.out.println("변경 전 text = " + text); System.out.println("변경 후 text = " + text.replace("\t", "")); }} 이렇게 replace() / replaceAll() ..
Java에서 인터페이스와 추상 클래스의 차이점에 대해 알아보자. 두 개념 모두 객체 지향 프로그래밍에서 중요한 역할을 하며, 공통된 특성은 있지만, 서로 다른 사용 목적과 특징을 가지고 있다. 1. 개념적인 차이 인터페이스 (Interface)인터페이스는 클래스가 특정 기능을 제공한다는 약속(계약)을 의미한다. 이는 클래스가 여러 상속을 지원하지 않는 Java에서 다형성을 구현하는 데 유용하며, 모든 메서드는 기본적으로 구현되지 않은 형태로 존재한다. Java 8부터는 디폴트 메서드와 정적 메서드도 인터페이스에 정의할 수 있게 되었다. 추상 클래스 (Abstract Class)추상 클래스는 공통적인 특성을 가진 여러 클래스들 간의 코드 재사용성을 높이기 위해 사용된다. 추상 클래스는 일부 구현된 메..
자바를 처음 접하다 보면 다양한 용어에 혼란을 느낄 수 있다. 특히 JDK, JRE, JVM이라는 용어는 자바 개발자라면 필수적으로 알아야 하지만 혼동하기 쉬운 개념들인데, 이 글에서 이 세 가지의 차이점을 명확히 알아보자 1. JVM (Java Virtual Machine) JVM은 자바 프로그램이 실제로 실행되는 가상 머신이다. 자바 코드를 작성하고 컴파일하면, JVM은 그 컴파일된 바이트코드를 읽고 기계가 이해할 수 있는 형태로 변환해 실행해준다. 즉, JVM은 자바 프로그램이 플랫폼에 독립적으로 동작할 수 있도록 해주는 핵심 요소이다. 각 운영 체제마다 JVM이 다르게 구현되어 있지만, 자바 바이트코드의 실행은 동일하게 보장된다. 이를 통해 "Write Once, Run Anywhere"라는 자..
자바(Java)는 객체 지향 프로그래밍 언어로, 플랫폼 독립성과 강력한 메모리 관리, 안전성, 그리고 멀티스레딩 기능 등을 통해 다양한 분야에서 사용됩니다. 자바의 주요 특징을 요약하면 다음과 같다.대분류중분류소분류언어 특징객체 지향 프로그래밍코드 재사용성과 확장성을 높이는 객체 지향 언어로 설계됨언어 특징플랫폼 독립성JVM을 통해 다양한 운영 체제에서 동일하게 실행 가능메모리 관리자동 메모리 관리가비지 컬렉션을 통해 메모리 관리를 자동화함안전성안전성과 보안JVM의 샌드박스와 암호화 라이브러리로 안전한 프로그래밍 지원성능멀티스레딩 지원여러 작업을 동시에 수행할 수 있는 멀티스레딩 기능 제공라이브러리풍부한 표준 라이브러리다양한 기능을 지원하는 표준 라이브러리 제공확장성높은 확장성대규모 애플리케이션 개발..
JAVA 에서 파일 입력, 출력하는 방법에 대해서 알아보자 1. 파일 쓰기 방식 (BufferedWriter / Files.write) BufferedWriter를 사용해서 파일 쓰기- BufferedWriter는 버퍼링된 파일 쓰기 기능을 제공한다. 즉, 데이터를 한번에 메모리로 모은 후 파일에 쓰기 때문에 성능이 좋다. - 여러 줄을 연속해서 쓰거나, 파일을 자주 열고 다는 경우에 적합 예제. public static void main(String[] args) { // 파일 경로 설정 String filePath = "D:\\hanker\\test.txt"; // BufferedWriter를 사용한 파일에 쓰기 try (BufferedWriter writer = new BufferedWriter(n..
Java에서 int 타입의 정수를 String으로 변환하는 방법을 알아보자 int → String String.valueOf(int i) String.valueOf는 int를 String으로 변환하는 가장 일반적인 방법 중 하나이다. public static void main(String[] args) { int number = 35; String str = "35"; String intToStr = String.valueOf(number); if(str.equals(intToStr)){ System.out.println("O"); } if(!str.equals(number)){ System.out.println("X"); } } 결과 Integer.toString(int i) Integer.toStri..
Java 언어 문자열 처리중 초기부터 제공되었던 startsWidth() 메서드에 대해 알아보자. startsWith()Java에서 String 객체가 특정 문자열로 시작하는지 확인할 때 사용되는 메서드이다. startsWidth() 는 boolean 값을 반환하며, 해당 문자열이 주어진 접두사로 시작하면 true, 그렇지 않으면 false를 반환한다. 위 사진에 메서드를 보면 매개변수에 prefix(시작여부를 확인할 문자열)가 들어가고 toffset이라는 매개변수가 들어가는데 이는 선택사항이다. 입력하지 않으면 첫 문자열을 검색하고, 숫자를 입력하면 해당 위치부터 확인한다. 예시를 보면서 확인해보자. public static void main(String[] args) { String s = "Hank..
개발을 하다보면 뭔가 정신줄 놓고 작업할 때가 있는데, 그 시점에 제일 많이 등장하는 예외이다. 이 예외가 왜 나는지? 안나게 하려면 어떻게 해야하는지 알아보자 발생 이유 발생이유는 여러가지가 있는데, 찬찬히 알아보자 1. Java 9 에서 추가된 List.of() 를 사용할 때, List.of()로 생성한 리스트는 읽기 전용이라서 추가/수정/삭제가 안되는데, 이를 하려고 시도하다가 발생 public static void main(String[] args) { List list = List.of("A", "B", "C"); list.remove("C"); // UnsupportedOperationException 발생 } 2. Spring JPA 에서 @Transactional(readOnly = tru..