← 홈

Java

⌘K
🤖
Claude Code AI 도구
🤗
Hugging Face AI 도구
🦜
LangChain AI 도구
🧠
Keras AI 도구
🦙
Ollama AI 도구
🐍
Python 프로그래밍 언어
🟨
JavaScript 프로그래밍 언어
🔷
TypeScript 프로그래밍 언어
⚛️
React 프로그래밍 언어
🐹
Go 프로그래밍 언어
🦀
Rust 프로그래밍 언어
📊
MATLAB 프로그래밍 언어
🗄️
SQL 프로그래밍 언어
⚙️
C/C++ 프로그래밍 언어
Java 프로그래밍 언어
🟣
C# 프로그래밍 언어
🍎
Swift 프로그래밍 언어
🟠
Kotlin 프로그래밍 언어
Next.js 프로그래밍 언어
💚
Vue.js 프로그래밍 언어
🔥
Svelte 프로그래밍 언어
🎨
Tailwind CSS 프로그래밍 언어
💚
Node.js 프로그래밍 언어
🌐
HTML 프로그래밍 언어
🎨
CSS/SCSS 프로그래밍 언어
🐘
PHP 프로그래밍 언어
💎
Ruby 프로그래밍 언어
🔴
Scala 프로그래밍 언어
📊
R 프로그래밍 언어
🎯
Dart 프로그래밍 언어
💧
Elixir 프로그래밍 언어
🌙
Lua 프로그래밍 언어
🐪
Perl 프로그래밍 언어
🅰️
Angular 프로그래밍 언어
🚂
Express.js 프로그래밍 언어
🐱
NestJS 프로그래밍 언어
🛤️
Ruby on Rails 프로그래밍 언어
◼️
GraphQL 프로그래밍 언어
🟪
Haskell 프로그래밍 언어
💚
Nuxt.js 프로그래밍 언어
🔷
SolidJS 프로그래밍 언어
htmx 프로그래밍 언어
💻
VS Code 개발 도구
🧠
PyCharm 개발 도구
📓
Jupyter 개발 도구
🧠
IntelliJ IDEA 개발 도구
💚
Neovim 개발 도구
🔮
Emacs 개발 도구
🔀
Git DevOps & CLI
🐳
Docker DevOps & CLI
☸️
Kubernetes DevOps & CLI
☁️
AWS CLI DevOps & CLI
🔄
GitHub Actions DevOps & CLI
🐧
Linux 명령어 DevOps & CLI
💻
Bash 스크립팅 DevOps & CLI
🌐
Nginx DevOps & CLI
📝
Vim DevOps & CLI
🔨
Makefile DevOps & CLI
🧪
Pytest DevOps & CLI
🪟
Windows DevOps & CLI
📦
패키지 매니저 DevOps & CLI
🍎
macOS DevOps & CLI
🏗️
Terraform DevOps & CLI
🔧
Ansible DevOps & CLI
Helm DevOps & CLI
🔨
Jenkins DevOps & CLI
🔥
Prometheus DevOps & CLI
📊
Grafana DevOps & CLI
💻
Zsh DevOps & CLI
🐟
Fish Shell DevOps & CLI
💙
PowerShell DevOps & CLI
🔄
Argo CD DevOps & CLI
🔀
Traefik DevOps & CLI
☁️
Azure CLI DevOps & CLI
☁️
Google Cloud CLI DevOps & CLI
📟
tmux DevOps & CLI
🔧
jq DevOps & CLI
✂️
sed DevOps & CLI
📊
awk DevOps & CLI
🌊
Apache Airflow DevOps & CLI
🔢
NumPy 데이터베이스 & 데이터
🐼
Pandas 데이터베이스 & 데이터
🔥
PyTorch 데이터베이스 & 데이터
🧠
TensorFlow 데이터베이스 & 데이터
📈
Matplotlib 데이터베이스 & 데이터
🐘
PostgreSQL 데이터베이스 & 데이터
🐬
MySQL 데이터베이스 & 데이터
🍃
MongoDB 데이터베이스 & 데이터
🔴
Redis 데이터베이스 & 데이터
🔍
Elasticsearch 데이터베이스 & 데이터
🤖
Scikit-learn 데이터베이스 & 데이터
👁️
OpenCV 데이터베이스 & 데이터
Apache Spark 데이터베이스 & 데이터
🪶
SQLite 데이터베이스 & 데이터
Supabase 데이터베이스 & 데이터
🔵
Neo4j 데이터베이스 & 데이터
📨
Apache Kafka 데이터베이스 & 데이터
🐰
RabbitMQ 데이터베이스 & 데이터
🔤
Regex 유틸리티
📝
Markdown 유틸리티
📄
LaTeX 유틸리티
🔐
SSH & GPG 유틸리티
🌐
curl & HTTP 유틸리티
📜
reStructuredText 유틸리티
🚀
Postman 유틸리티
🎬
FFmpeg 유틸리티
🖼️
ImageMagick 유틸리티
🔍
ripgrep 유틸리티
🔍
fzf 유틸리티
📗
Microsoft Excel 오피스 애플리케이션
📘
Microsoft Word 오피스 애플리케이션
📙
Microsoft PowerPoint 오피스 애플리케이션
📝
한컴 한글 한컴오피스
📽️
한컴 한쇼 한컴오피스
📊
한컴 한셀 한컴오피스
📄
Google 문서 Google Workspace
📊
Google 스프레드시트 Google Workspace
📽️
Google 프레젠테이션 Google Workspace
🔌
Cadence Virtuoso EDA & 하드웨어
⚙️
Synopsys EDA EDA & 하드웨어
💎
Verilog & VHDL EDA & 하드웨어
LTSpice EDA & 하드웨어
🔧
KiCad EDA & 하드웨어
📝
Notion 생산성 도구
💎
Obsidian 생산성 도구
💬
Slack 생산성 도구
🎮
Discord 생산성 도구
🎨
Figma 디자인 도구
📘
Confluence Atlassian
📋
Jira Atlassian
🃏
Jest 테스팅
Vitest 테스팅
🎭
Playwright 테스팅
🌲
Cypress 테스팅
🌐
Selenium 테스팅
💙
Flutter 모바일 개발
📱
React Native 모바일 개발
🍎
SwiftUI 모바일 개발
📱
Expo 모바일 개발
🐍
Django 웹 프레임워크
FastAPI 웹 프레임워크
🌶️
Flask 웹 프레임워크
🍃
Spring Boot 웹 프레임워크
🍸
Gin 웹 프레임워크
Vite 빌드 도구
📦
Webpack 빌드 도구
esbuild 빌드 도구
🐘
Gradle 빌드 도구
🪶
Maven 빌드 도구
🔧
CMake 빌드 도구
🎮
Unity 게임 개발
🤖
Godot 게임 개발
🔌
Arduino 임베디드 & IoT
🔍
Nmap 보안
🐕
Datadog 모니터링
📖
Swagger/OpenAPI 문서화
검색 결과가 없습니다
EN KO

📝 Java 기본

📦 데이터 타입

int x = 10; 정수 (32비트)
long l = 10L; Long (64비트)
double d = 3.14; Double (64비트)
float f = 3.14f; Float (32비트)
boolean b = true; 불리언
char c = 'A'; 문자 (16비트)
String s = "hello"; 문자열 객체
final int MAX = 100; 상수

📋 배열

int[] arr = new int[5]; 배열 선언
int[] arr = {1, 2, 3}; 배열 초기화
arr.length 배열 길이
int[][] matrix = new int[3][3]; 2차원 배열
Arrays.sort(arr) 배열 정렬
Arrays.copyOf(arr, len) 배열 복사
Arrays.fill(arr, val) 배열 채우기

📝 문자열 연산

s.length() 문자열 길이
s.charAt(i) 문자 얻기
s.substring(start, end) 부분 문자열
s.indexOf("text") 인덱스 찾기
s.split(",") 문자열 분할
s.trim() 공백 제거
s.toLowerCase() / toUpperCase() 대소문자 변환
String.format("%d", n) 문자열 포맷

🏗️ 객체 지향 프로그래밍

📦 클래스

public class MyClass { } 클래스 정의
private int field; 비공개 필드
public MyClass() { } 생성자
this.field = value; 인스턴스 필드 접근
static int count; 정적 필드
public static void main(String[] args) 메인 메서드

🌳 상속 & 인터페이스

class Child extends Parent 클래스 확장
super() 부모 생성자 호출
super.method() 부모 메서드 호출
@Override 오버라이드 어노테이션
interface MyInterface { } 인터페이스 정의
class MyClass implements Interface 인터페이스 구현
abstract class MyClass { } 추상 클래스
abstract void method(); 추상 메서드

🔐 접근 제어자

public 모든 곳에서 접근 가능
protected 같은 패키지 + 자식 클래스
default (no modifier) 같은 패키지만
private 같은 클래스만
final 오버라이드/확장 불가
static 클래스 레벨 멤버

📚 컬렉션 프레임워크

📋 리스트

List<String> list = new ArrayList<>(); ArrayList 생성
List<String> list = new LinkedList<>(); LinkedList 생성
list.add(item) 요소 추가
list.get(index) 인덱스로 얻기
list.set(index, item) 인덱스에 설정
list.remove(index) 인덱스로 제거
list.size() 크기 얻기
list.contains(item) 포함 확인

🗂️ Set & Map

Set<String> set = new HashSet<>(); HashSet 생성
Set<String> set = new TreeSet<>(); TreeSet 생성 (정렬)
Map<String, Integer> map = new HashMap<>(); HashMap 생성
map.put(key, value) 키-값 넣기
map.get(key) 키로 얻기
map.getOrDefault(key, default) 기본값으로 얻기
map.containsKey(key) 키 존재 확인
map.keySet() / values() / entrySet() 키/값/엔트리 얻기

📥 Queue & Stack

Queue<Integer> q = new LinkedList<>(); Queue 생성
Deque<Integer> dq = new ArrayDeque<>(); Deque 생성
q.offer(item) / q.add(item) 큐에 넣기
q.poll() / q.remove() 큐에서 빼기
q.peek() 앞 확인
Stack<Integer> stack = new Stack<>(); Stack 생성
stack.push(item) 푸시
stack.pop()

🌊 Stream API (Java 8+)

스트림 생성

list.stream() 컬렉션에서 스트림
Arrays.stream(arr) 배열에서 스트림
Stream.of(1, 2, 3) 값에서 스트림
Stream.iterate(0, n -> n + 1) 무한 스트림
Stream.generate(Math::random) 스트림 생성
IntStream.range(0, 10) 범위 스트림

🔧 중간 연산

.filter(x -> x > 0) 요소 필터링
.map(x -> x * 2) 요소 변환
.flatMap(list -> list.stream()) 중첩 평탄화
.distinct() 중복 제거
.sorted() 요소 정렬
.limit(n) n개로 제한
.skip(n) n개 건너뛰기
.peek(System.out::println) 디버깅용 peek

🎯 최종 연산

.collect(Collectors.toList()) List로 수집
.collect(Collectors.toSet()) Set로 수집
.collect(Collectors.toMap(k, v)) Map로 수집
.collect(Collectors.joining(",")) 문자열 결합
.forEach(System.out::println) 각 요소에 대해
.reduce(0, (a, b) -> a + b) 단일 값으로 축소
.count() 요소 수 세기
.anyMatch(x -> x > 0) 조건 일치 여부

🎯 함수형 인터페이스 & 람다

➡️ 람다 표현식

(a, b) -> a + b 기본 람다
x -> x * 2 단일 매개변수 (괄호 없음)
() -> "hello" 매개변수 없음
(a, b) -> { return a + b; } 블록 본문
String::length 메서드 참조
System.out::println 인스턴스 메서드 참조
MyClass::new 생성자 참조

📦 내장 함수형 인터페이스

Function<T, R> T -> R 변환
Predicate<T> T -> boolean 테스트
Consumer<T> T -> void 동작
Supplier<T> () -> T 제공자
BiFunction<T, U, R> (T, U) -> R
UnaryOperator<T> T -> T
BinaryOperator<T> (T, T) -> T

Optional

Optional.of(value) 값으로 생성
Optional.ofNullable(value) null 가능으로 생성
Optional.empty() 빈 것 생성
opt.isPresent() 존재 확인
opt.ifPresent(consumer) 존재하면 동작 수행
opt.orElse(default) 얻거나 기본값
opt.orElseThrow() 얻거나 예외
opt.map(func).flatMap(func) Optional 변환

⚠️ 예외 처리

🛡️ Try-Catch

try { } catch (Exception e) { } 기본 try-catch
catch (IOException | SQLException e) 다중 catch
finally { } finally 블록
try (Resource r = new Resource()) try-with-resources
throw new Exception("msg") 예외 던지기
throws IOException throws 선언

📋 예외 타입

Exception 검사 예외 기본
RuntimeException 비검사 예외 기본
NullPointerException null 참조
IndexOutOfBoundsException 인덱스 범위 초과
IllegalArgumentException 잘못된 인수
IOException I/O 에러

💡 팁 & 모범 사례

유용한 팁

  • 타입 추론에 다이아몬드 연산자 <> 사용
  • 구체적인 타입보다 인터페이스 선호
  • null 반환 대신 Optional 사용
  • 가능하면 불변 객체 선호
  • 루프에서 문자열 연결에 StringBuilder 사용
  • try-with-resources로 리소스 닫기
  • 데이터 클래스에 record 사용 (Java 16+)
  • 지역 변수에 var 사용 (Java 10+)