내부 클래스란? ✅ "클래스 안에 정의된 또 다른 클래스"를 말합니다. 보통 클래스는 하나의 파일에 하나씩 정의하는 것이 일반적이지만,B 클래스가 A 클래스의 논리적 일부이거나, 그 안에서만 사용될 필요가 있을 때,내부 클래스로 선언합니다. 예를 들어,우리가 자동차라는 클래스를 만든다고 해보겠습니다.그 안에 들어가는 ‘엔진’이라는 부품도 뭔가 복잡한 구조를 가질 수 있습니다.그런데 이 엔진은 자동차 안에서만 쓰이고, 밖에선 따로 필요가 없습니다. 그러면 어떻게 할까요?✅ "아예 자동차 안에 엔진 설계도도 같이 넣자!"➡ 이게 바로 내부 클래스입니다! 내부 클래스를 사용하는 이유항목설명논리적 관계 표현외부 클래스와 강하게 연관된 클래스를 내부로 묶어줌캡슐화 강화불필요하게 외부로 노출되는 것을 막음외부 클..
상속이란? 기존의 클래스(부모 클래스)가 가지고 있는 "속성과 기능(변수와 메서드)"을 새로운 클래스(자식 클래스)가 그대로 물려받는 것입니다.마치 현실에서 부모가 자식에게 유산을 물려주듯, Java에서도 기능(변수/메서드)을 물려주는것 입니다! 즉, 부모 클래스의 코드를 새로 작성하지 않고 재사용해서 새로운 클래스를 만들 수 있게 해주는 기능입니다. 부모클래스👉 자식에게 물려줄 기능을 가지고 있는 기존 클래스 자식클래스👉 부모 클래스를 상속받아 기능을 이어받고, 여기에 새로운 기능을 추가하거나, 기존 기능을 재정의(Overriding) 할 수 있는 클래스 기본 문법 ✅ 상속의 키워드는 바로 extends 입니다! 해당 키워드를 사용하여 물려 받을 부모클래스를 정의하면 됩니다. 상속의 필요성Ja..
자바를 배우다 보면 비슷하게 생긴 this와 this()를 자주 마주치게 됩니다. 이 둘은 이름은 비슷하지만 전혀 다른 역할을 가지고 있어요. 이번 글에서는 이 둘의 차이와 사용법을 예제를 통해 쉽게 알아보겠습니다. this란?현재 객체 자신을 가리키는 키워드입니다.객체가 생성되면 자바는 그 객체가 자기 자신을 가리킬 수 있도록 this라는 키워드를 자동으로 제공합니다.즉, 클래스 내부에서 this를 사용하면 "내 자신", 즉 현재 만들어진 그 객체를 의미합니다. this의 필요성객체 안에서는 멤버 변수(필드)와 매개변수(입력값)가 같은 이름일 때가 많습니다.이 경우, 자바는 어떤 게 멤버 변수인지, 어떤 게 매개변수인지 헷갈릴 수 있습니다. 예를 들어 아래 코드를 볼까요?public class St..
생성자란?자바에서 객체가 생성될 때 자동으로 호출되는 메서드입니다. 객체의 초기 상태를 설정하거나 값 초기화에 사용됩니다. 즉, 객체를 만들자마자 어떻게 만들어질지를 지정하는 것이 바로 생성자의 역할입니다.TestObject to = new TestObject();TestObject는 클래스 이름이고,to는 참조 변수(객체를 가리키는 변수) 입니다.new TestObject()는 객체를 생성하는 코드이며,이때 생성자가 자동으로 호출됩니다.“TestObject 클래스의 객체를 하나 생성하고, 그 주소를 to라는 변수에 저장해라” 라는 의미입니다. 생성자, 우리가 직접 만들지 않아도 되는 이유? 지금까지 우리는 클래스만 만들고, 별도로 생성자를 정의하지 않았는데도 객체를 만들 수 있었습니다.그 이유는 J..
클래스클래스는 일종의 설계도입니다. 자동차 공장에서 자동차를 만들기 위해 먼저 설계도를 그리듯, 클래스는 객체를 만들기 위한 틀입니다. class Car { String brand; int speed; void drive() { System.out.println(brand + " is driving at " + speed + "km/h"); }}여기서 Car 클래스로 선언되었으며, 자동차 설계도에 해당합니다."브랜드"와 "속도"라는 속성, "drive()"라는 동작이 정의되어 있습니다. 아직 아무것도 만들어지지 않았습니다.이건 마치 설계도일 뿐입니다. 객체객체는 클래스를 기반으로 실제로 만들어낸 구체적인 존재입니다. 설계도를 바탕으로 실제 자동차를 만든 것처럼 객체도..