Java

Java/기타

[Java] Optional로 NullPointerException을 방지하자

🔍Optional이란? Java 8에서 추가된 Optional은 null 값을 대신할 수 있는 컨테이너 클래스이다. Java에서 null은 많은 문제를 발생시키는 요인 중 하나이다. Optional은 이러한 null 문제를 방지하기 위해 도입되었다. Optional 클래스는 값이 존재하지 않을 수 있는 객체를 감싸고 있으며, 메소드 체이닝을 통해 객체를 안전하게 다룰 수 있도록 한다. Optional은 객체를 생성하는 데 사용되는 팩토리 메소드를 제공한다. 이를 통해 Optional 객체를 생성할 때 null 여부를 검사할 필요가 없다. Optional을 사용하여 NullPointerException을 방지하고 코드의 안정성을 크게 향상시킬 수 있다. 🧐Optional 사용 예시 Optional opti..

Java/기타

[Java] Call by value vs Call by reference ?

💡 최근 내가 개발한 java 프로그램에서 버그를 찾았는데 이 문제와 관련되어있었다. 자바에는 Call by value밖에 없다 Java에서는 "call by reference"는 지원되지 않는다. Java에서는 모든 함수 호출이 "call by value"로 이루어진다. 하지만 헷갈리는 상황이 발생한다. Call by value 예시 public class Example { public static void main(String[] args) { int x = 10; modifyNumber(x); // int 변수를 함수에 전달 System.out.println(x); // 10 } public static void modifyNumber(int num) { num = 20; // int 변수를 수정 ..

Java/Gradle

[Gradle] Gradle Shadow Plugin 사용 이유 및 사용법

🤔Gradle Shadow Plugin을 사용하게 된 이유 컴파일 후 실행을 하던 중, java.lang.NoClassDefFoundError를 마주하게 되었다. 해당 에러는 클래스를 찾지 못해서 발생한다. 나의 경우, build.gradle에 추가한 dependency와 관련한 클래스를 찾지 못해 생겨난 문제였다. 이를 해결하기 위해서는 Gradle Shadow Plugin을 사용해야 했다. 🔍Gradle Shadow Plugin이란? 이 플러그인은 다양한 라이브러리와 종속성을 포함한 fat jar를 생성한다. fat jar는 실행 가능한 JAR 파일로, 모든 종속성을 포함하고 있으므로 더 이상 종속성 파일을 별도로 다운로드하거나 설치할 필요가 없다. 🪄Gradle Shadow Plugin 사용법 1...

Java/Minecraft Spigot

마인크래프트 플러그인 만들기 2. 플러그인 로딩,종료 메세지 띄우기

💡방법 get.logger().info("로그 내용"); package com.tistory.localhost.tutorialplugin; import org.bukkit.plugin.java.JavaPlugin; public final class Tutorialplugin extends JavaPlugin { @Override public void onEnable() { // Plugin startup getLogger().info("플러그인 로딩됨."); } @Override public void onDisable() { // Plugin shutdown logic getLogger().info("플러그인 종료됨."); } } ⚠️주의사항 Spigot 플러그인에서는 sout System.out.pri..

Java/Minecraft Spigot

마인크래프트 플러그인 만들기 1. 시작

🪣준비물 Java 실력 IntelliJ minecraft-development 인텔리제이 플러그인 https://plugins.jetbrains.com/plugin/8327-minecraft-development Minecraft Development - IntelliJ IDEs Plugin | Marketplace Brings support for Bukkit, Spigot, Paper, Sponge, Forge, Fabric, Architectury, MCP, Mixin, Velocity, BungeeCord, Waterfall, and LiteLoader projects to Intellij IDEA. plugins.jetbrains.com ✨시작하기 1. 파일>새로만들기>프로젝트 다음과 같이 설정..

리즈(Liz)
'Java' 카테고리의 글 목록 (2 Page)