본문 바로가기

공부73

[JAVA] 상속 - 다형성, 캐스팅, instanceof 상속 클래스 변수의 할당 상위 클래스 변수에 하위 클래스 객체 할당 가능Student / Professor는 Person 중 하나이므로 Person 변수에 할당 가능예시Person p;p = new Person(); // 가능p = new Professor(); // 가능p = new PartTimeProfessor(); // 가능 Person[] per = new Person[3];Professor prof = new Professor();Student stud = new Student();per[0] = prof; // 가능per[1] = stud; // 가능per[2] = new PartTimeProfessor(); // 가능 상위 클래스 변수에 할당된 객체는 상위 클래스의 객체로 간주per[0] .. 2025. 5. 23.
[JAVA] 객체 - 선언, 생성, 대입 객체를 사용하는 이유우리가 프로그래밍 할 때 원시 변수를 많이 씁니다. 이 원시 변수란? 가장 기본적인 데이터 타입의 변수를 말합니다. 즉, 더 이상 나눌 수 없는 단순한 형태의 데이터를 저장하는 변수입니다. 예를 들어, int, float, char, boolean, string이 있습니다. 그런데 이런 원시 변수만 사용했을 때의 한계가 있습니다. 그 한계를 극복하기 위해 사용하는게 객체입니다. 객체를 사용하면 복잡한 데이터를 구조화하고, 관련된 기능(행위)를 함께 묶어 관리할 수 있게 됩니다. 이러한 객체를 활용하는 객체지행 프로그래밍(OOP)란, 우리가 현실에서 사용하는 개념을 프로그래밍에 반영하는 것이라고 생각하면 됩니다. 객체 선언, 생성 및 대입 레퍼런스 변수의 크기는 얼마일까?알 수 없습.. 2025. 5. 22.
왜 byte형 변수에는 -128부터 127까지의 정수만 넣을 수 있을까? 우선 byte는 8bit라는 것을 알아야합니다.단위 기호 크기 (기준: 바이트)설명비트bit1 bit데이터의 최소 단위 (0 또는 1)바이트B8 bits1문자 = 1바이트 (ASCII 기준)킬로바이트KB1,024 B약 1천 바이트메가바이트MB1,024 KB = 1,048,576 B약 100만 바이트기가바이트GB1,024 MB = 1,073,741,824 B약 10억 바이트테라바이트TB1,024 GB = 1,099,511,627,776 B약 1조 바이트 bit 최근 일상생활에서 사용하는 용량은 보통 기가바이트(GB), 테라바이트(TB)일 것입니다. 하지만 제가 어렸을때는 1GB면 진짜 큰 거였습니다. 제가 쓰던 MP3가 500MB였던가 그런 거 같은데.... 아무튼 이게 처음의 시작은 bit란 말입니다... 2025. 5. 10.
Garvage Collection이 뭔데? 어떻게 작동하는 건데? 1. 🧩 GC(Garbage Collection)란?Garbage Collection(가비지 컬렉션)은 Java Virtual Machine(JVM)이 더 이상 참조되지 않는 객체를 자동으로 메모리에서 제거하는 기능 즉, 프로그래머가 직접 free()나 delete를 호출하지 않아도, JVM이 사용하지 않는 객체를 탐지하고 메모리 회수를 자동으로 처리 함. 2. 💡 왜 GC가 필요한가?메모리 누수 방지: 참조가 끊긴 객체를 제거하지 않으면 메모리가 낭비 됨.안정성: 수동 메모리 관리(C/C++)와 달리, 잘못된 해제 오류(null pointer, double free 등)를 피할 수 있음.생산성: 개발자가 메모리 관리를 걱정하지 않고 비즈니스 로직에 집중할 수 있음.3. 🔧 GC의 작동 과정객체 생.. 2025. 5. 7.
자바의 Boxing과 Unboxing: 오토박싱과 언박싱 제대로 이해하기 0. 헛소리우리가 보통 언박싱(Unboxing)이라고 하면 포장 된 물건을 꺼내보는 것을 말하죠?자바에서의 박싱과 언박싱도 비슷합니다. 1. 📌 기본 개념자바에서는 int, char, boolean 등의 기본형(primitive type)과 이들을 객체로 다룰 수 있는 래퍼 클래스(wrapper class)가 존재함.예시)1) int ↔ Integer2) double ↔ Double3) char ↔ Character 이들 사이에서 객체 ↔ 기본형 간의 변환을 Boxing과 Unboxing이라고 합니다.Boxing : 기본형 → 객체형 변환Unboxing : 객체형 → 기본형 변환이 과정을 자동으로 처리하는 기능을 각각 Autoboxing, Auto-unboxing이라고 합니다. 2. ✅ Autoboxi.. 2025. 5. 6.
Spring Boot Error - Whitelabel Error Page IDE에서 스프링 부트를 실행하고 localhost:8080(기본)에 접속했을 때 이런 페이지를 볼 때가 있습니다. 이건 시작은 했는데 뭔가 보여줄 게 없거나, 오류가 있어서 나오는 페이지입니다. '/' 요청을 처리해주는 컨트롤러가 없거나, 기본 index.html이 없는 경우가 많고요. 혹은 진짜 에러가 발생했을 수 있습니다. 일단 저는 여기서 테스트용으로 '/'을 처리해주는 컨트롤러를 만들어보겠습니다. import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RestController;@RestControllerpublic class TestController { .. 2025. 4. 26.