본문 바로가기

반응형

Java

(6)
Java 핵심 문법: static 키워드 자바를 하다 보면 static이라는 단어를 자주 보게 되는데요, 이 키워드는 클래스와 객체의 관계를 이해하는 데 아주 중요한 역할을 합니다. ✨ static이란? static은 '정적'이라는 뜻으로, 클래스에 속하는 멤버(변수나 메서드)를 의미합니다. 즉, 객체를 생성하지 않아도 사용할 수 있는 멤버입니다. 🔍 일반 멤버와 static 멤버의 차이 🧩 일반 멤버는 객체별로 따로 존재해요. 즉, 객체마다 각각 다른 값을 가질 수 있습니다. 🌍 static 멤버는 클래스에 단 하나만 존재하며, 모든 객체가 공유합니다. 예제 코드로 확인해볼까요? // 클래스 변수와 인스턴스 변수 예제public class Counter { public static int tot..
Java 객체지향의 기본, 접근 제어자와 캡슐화 이해하기 자바에서 객체지향 프로그래밍(OOP)을 제대로 하려면 접근 제어자와 캡슐화를 잘 알아야 해요. 이 두 개념은 객체의 내부 상태를 보호하고, 안전하게 다루기 위한 기본 중 기본입니다. 🔐 접근 제어자(Access Modifiers)란? 접근 제어자는 클래스 내부의 변수나 메서드에 누가 접근할 수 있는지 권한을 설정하는 키워드예요. 크게 세 가지가 자주 쓰입니다: private : 같은 클래스 내부에서만 접근 가능 protected : 같은 패키지 내 또는 자식 클래스에서 접근 가능 public : 어디서든지 접근 가능 접근 제어자가 없다면, 누구나 변수나 메서드를 자유롭게 건드릴 수 있어서 위험하죠. 그래서 중요한 데이터는 private로 숨기고, 필요한 기능..
Java 배열과 메서드 완전 정복 📌 배열이란?자바에서 배열은 같은 자료형의 데이터를 하나로 묶어 저장할 수 있는 자료구조입니다.int[] scores = new int[5];scores[0] = 90;scores[1] = 85;scores[2] = 70;scores[3] = 100;scores[4] = 60;위 예시는 정수형(int) 값을 저장할 수 있는 크기 5의 배열을 생성한 것입니다.✅ 배열 선언 방법int[] arr = new int[3]; : 선언과 동시에 공간 할당int[] arr = {1, 2, 3}; : 값을 직접 초기화✅ 배열 순회하기 (for문)int[] nums = {1, 2, 3, 4, 5};for (int i = 0; i 📌 메서드(Method)란?메서드는 특정 작업을 수행하는 코드의 묶음(함수)입니다.pub..
Java 객체지향 프로그래밍 기초 - 클래스, 객체, 생성자, 메서드 이해하기 📌 클래스와 객체클래스는 객체를 만들기 위한 설계도입니다. 객체는 클래스를 바탕으로 생성된 실제 데이터의 인스턴스입니다.public class Person { String name; int age; public void sayHello() { System.out.println("안녕하세요, 저는 " + name + "입니다."); }}public class Main { public static void main(String[] args) { Person p = new Person(); p.name = "홍길동"; p.age = 30; p.sayHello(); }}📌 생성자(Constructor)생성자는 객체..
Java 문법 기초 정리 - 변수, 조건문, 반복문 📌 자바 프로그램 기본 구조public class HelloJava { public static void main(String[] args) { System.out.println("Hello, Java!"); }}클래스: 자바의 프로그램 단위main(): 프로그램의 시작점System.out.println(): 콘솔 출력📌 변수와 자료형public class Variables { public static void main(String[] args) { int age = 25; double height = 172.5; boolean isStudent = true; char grade = 'A'; String nam..
Hibernate 순환 참조 문제로 인한 StackOverflowError 해결하기 순환 참조(Circular Reference)는 두 개 이상의 객체가 서로를 참조하면서 무한 루프를 형성하는 상황을 의미한다. 예를 들어, 객체 A가 객체 B를 참조하고, 객체 B가 다시 객체 A를 참조하는 구조가 있을 때 이를 순환 참조라고 한다. 이런 구조가 직렬화나 데이터 처리 과정에서 문제가 될 수 있다. 1. 순환 참조 문제의 발생 이유순환 참조는 데이터 직렬화, 특히 JSON과 같은 형식으로 객체를 변환할 때 문제가 된다.JSON 직렬화 과정에서, 서로 참조하는 객체들이 계속해서 직렬화되다 보면 끝없이 서로를 직렬화하게 되어 무한 루프가 발생한다.결국 이로 인해 스택 오버플로우(Stack Overflow)나 메모리 초과 문제가 발생하게 된다. @Data@Entitypublic class Use..

반응형