This 3

자바의 `this` & `super`

🌟 this 와 super 완전 정복이름도 비슷하고 헷갈리는 이 둘!하지만 알고 보면 각자의 역할이 분명한 핵심 키워드랍니다 😎지금부터 아주 쉽게, 차근차근 설명드릴게요 💡☝🏻 this 란?현재 객체 자신을 참조하는 키워드예요. 클래스 내부에서 쓰일 수 있는 숨겨진 참조 변수라고 생각하시면 됩니다.✅ 언제 사용할까요?지역변수와 멤버변수의 이름이 같을 때 구분하려고!자기 자신을 가리키는 참조가 필요할 때✏️ 예제public class Book { String title; public void setTitle(String title) { this.title = title; }}구분설명this.title멤버 변수 (클래스에 선언된 변수)title (오른쪽)매개변수 (메서드..

Programming/Java 2025.04.12

자바 생성자(Constructor)

📚 자바 생성자(Constructor) 완.전.정.복!생성자라는 말, 처음 들었을 땐 낯설고 어렵게 느껴지셨죠?하지만 알고 보면, 우리가 클래스를 사용할 때처음 인사하는 문 같은 존재랍니다.이번 글에서 생성자의 모든 걸 쉽고 예쁘게 정리해드릴게요 😊✨ 생성자란?자바에서 객체를 생성할 때 자동으로 호출되는 메서드 입니다.객체가 태어날 때 어떤 값을 가질지 정해주는 초기화 도구 예요!일반 메서드처럼 생겼지만, 리턴 타입이 없고 이름은 클래스명과 동일 해야 해요.💬 정리하자면,"객체가 만들어질 때 실행되는 특별한 메서드!" 라고 기억하시면 됩니다.🛠 생성자의 2가지 필수 규칙1️⃣ 클래스 이름과 완전히 같아야 한다2️⃣ 리턴 타입이 없어야 한다 (void도 금지!)📢 컴파일러는 리턴 타입이 보이면 “..

Programming/Java 2025.04.11

변수 섀도잉(Shadowing)

겉에 있는 줄 알았는데, 안에 또 있다?👇👇🏼👇🏻그래서 우리는 this를 써요🧠 변수 섀도잉이란?같은 이름의 변수가 중첩된 범위(scope)에 다시 선언되어 바깥 변수를 가리는 현상즉, 밖에 선언한 변수와 안쪽(함수나 블럭 등)에 선언한 변수 이름이 같을 때,가까운(안쪽) 변수가 우선시되어 바깥 변수는 "섀도잉" 당합니다.⁉️ 왜 섀도잉이 문제일까?문제 상황설명🤯 값이 잘못 들어감의도한 바깥 변수가 아니라 안쪽 지역 변수에 값이 들어감🧪 디버깅 어려움"값을 설정했는데 왜 적용이 안 되지?" 하는 상황 발생👀 가독성 저하같은 이름이 중복되면 읽는 사람도 혼란✨ 섀도잉 in 4개 언어 + 해결 방법 정리🟨 Java: this 키워드로 해결public class User { String..