Banner

My Tech Blog (변수)

오늘의 명언
· Java
변수는 오버라이딩X, 메서드는 오버라이딩Oclass Parent { String name = "Parent"; void printNames() { System.out.println(name); }}class Child extends Parent { String name = "Child"; void printNames() { System.out.println(name); }}public class Main { public static void main(String[] args) { Child c = new Child(); c.printNames(); // (1) Parent p = ne..
1. 정적 바인딩 vs 동적 바인딩 – "자바에서 진짜 실행되는 건 뭘까?"자바에서 객체를 다룰 때, 우리가 쓰는 메서드는 언제, 어떤 기준으로 결정되는 걸까?부모 타입 변수로 자식 객체를 참조했을 때, 과연 호출되는 메서드는 누구 걸까?이때 나오는 개념이 바로 "정적 바인딩"과 "동적 바인딩"이다. 1-1. 바인딩이란?바인딩(binding)은 쉽게 말해"이 메서드 호출은 실제로 어떤 코드와 연결되어 있는가?" 를 말한다.이 연결이 컴파일할 때 정해지면 → 정적 바인딩,프로그램 실행 중에 정해지면 → 동적 바인딩이라고 한다. 1-2. 정적 바인딩 (Static Binding)컴파일할 때 호출할 메서드가 결정됨주로 static, final, private 메서드에서 발생함변수나 메서드 이름만 보고 컴파일러..
전역변수#include int main() { int x = 10, y = 10; if (x > 5) { y = 20; printf("x: %d, y: %d\n", x, y); } if (x > 9) { x = 20; printf("x: %d, y: %d\n", x, y); } if (x > 10) { x = 10; y = 20; printf("x: %d, y: %d\n", x, y); } printf("x: %d, y: %d\n", x, y); return 0;}x: 10, y: 20x: 20, y: 20 x: 10, y: 20 x: 10, y: 20 지역변수#incl..
· Java
✅ this 키워드 의미 자바에서 this 키워드는 현재 객체를 가리키는 참조 변수입니다. = this 키워드는 자기 자신을 가리킴. = 인스턴스가 자기 자신의 주소를 반환하는 경우 사용 여기서 "현재 객체"란 현재 메서드가 호출되고 있는 객체를 의미합니다. 클래스의 인스턴스가 생성될 때마다 각 인스턴스는 고유한 메모리 공간을 가지며, 이를 객체라고 합니다. 따라서 메서드가 호출될 때마다 해당 메서드가 속한 객체를 지칭할 수 있어야 합니다. ✅ this 키워드의 쓰임 인스턴스 변수와 로컬 변수 구분: 메서드 내에서 인스턴스 변수와 로컬 변수의 이름이 충돌할 때, this를 사용하여 인스턴스 변수에 접근할 수 있습니다. 이를 통해 명확하게 변수의 범위를 구분할 수 있습니다. 다른 생성자 호출: 하나의 생성..
상단으로