일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Linux
- docker
- SQL
- 넥사크로
- 리눅스
- DBMS
- 책추천
- 네트워크
- java
- MariaDB
- Python
- mysql
- 인덱스
- github
- mssql
- 인터페이스
- 책
- IntelliJ
- PostgreSQL
- 오블완
- pandas
- Javascript
- 독서
- oracle
- spring
- 티스토리챌린지
- 후기
- git
- 명령어
- springboot
- Today
- Total
목록JAVA (61)
hanker

Java에서 가비지 컬렉션(Garbage Collection)은 더 이상 참조되지 않거나 사용되지 않는 객체를 자동으로 메모리에서 해제하여 메모리 누수(Memory Leak)를 방지하고 효율적으로 메모리를 관리하는 기능이다. 이 과정은 JVM(Java Virtual Machine)에 의해 자동으로 수행되며, 프로그래머가 메모리 관리를 직접적으로 수행할 필요가 없다.https://hanke-r.tistory.com/entry/JAVA-JDK-JRE-JVM%EC%9D%98-%EC%B0%A8%EC%9D%B4%EC%A0%90%EC%9D%80-%EB%AC%B4%EC%97%87%EC%9D%BC%EA%B9%8C JAVA - JDK, JRE, JVM의 차이점은 무엇일까?자바를 처음 접하다 보면 다양한 용어에 혼란을 느..

제네릭(Generic)은 Java에서 컴파일 시점에 타입을 지정할 수 있도록 해주는 기능이다. 제네릭을 사용하면 코드의 재사용성을 높이고, 타입 안정성을 강화할 수 있으며, 명시적 형변환(casting)을 줄여 코드 가독성을 개선할 수 있습니다. 가장 흔한 예로는 List, Map 과 같은 컬렉션 프레임워크가 있다.https://hanke-r.tistory.com/entry/JAVA-JAVA%EC%97%90%EC%84%9C-%EC%BB%AC%EB%A0%89%EC%85%98-%ED%94%84%EB%A0%88%EC%9E%84%EC%9B%8C%ED%81%AC%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%BC%EA%B9%8C JAVA - JAVA에서 컬렉션 프레임워크란 무엇일까?이번 글에서는 J..

Java에서 접근 제어자(Access Modifiers)는 클래스, 메서드, 필드 등 구성 요소에 대한 접근 권한을 설정하는 키워드이다.접근 제어자를 통해 코드의 접근 범위를 제한하거나 허용하여 캡슐화와 보안성을 높일 수 있다. Java에서는 네 가지 접근 제어자를 사용할 수 있는데, public, protected, private, 그리고 default (접근 제어자를 명시하지 않았을 때)가 있다. 각 접근 제어자의 특징을 알아보자! public 범위: 모든 클래스에서 접근 가능.특징: 해당 멤버가 public으로 선언된 경우, 패키지 내외의 모든 클래스에서 접근할 수 있다. 즉, 전역으로 접근을 허용하는 가장 개방적인 접근 제어자이다. 사용 예: 주로 공용 API, 유틸리티 메서드 등 외부에서도 사..
이번 글에서는 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..