자바를 배우다 보면 비슷하게 생긴 this와 this()를 자주 마주치게 됩니다. 이 둘은 이름은 비슷하지만 전혀 다른 역할을 가지고 있어요. 이번 글에서는 이 둘의 차이와 사용법을 예제를 통해 쉽게 알아보겠습니다. this란?현재 객체 자신을 가리키는 키워드입니다.객체가 생성되면 자바는 그 객체가 자기 자신을 가리킬 수 있도록 this라는 키워드를 자동으로 제공합니다.즉, 클래스 내부에서 this를 사용하면 "내 자신", 즉 현재 만들어진 그 객체를 의미합니다. this의 필요성객체 안에서는 멤버 변수(필드)와 매개변수(입력값)가 같은 이름일 때가 많습니다.이 경우, 자바는 어떤 게 멤버 변수인지, 어떤 게 매개변수인지 헷갈릴 수 있습니다. 예를 들어 아래 코드를 볼까요?public class St..
생성자란?자바에서 객체가 생성될 때 자동으로 호출되는 메서드입니다. 객체의 초기 상태를 설정하거나 값 초기화에 사용됩니다. 즉, 객체를 만들자마자 어떻게 만들어질지를 지정하는 것이 바로 생성자의 역할입니다.TestObject to = new TestObject();TestObject는 클래스 이름이고,to는 참조 변수(객체를 가리키는 변수) 입니다.new TestObject()는 객체를 생성하는 코드이며,이때 생성자가 자동으로 호출됩니다.“TestObject 클래스의 객체를 하나 생성하고, 그 주소를 to라는 변수에 저장해라” 라는 의미입니다. 생성자, 우리가 직접 만들지 않아도 되는 이유? 지금까지 우리는 클래스만 만들고, 별도로 생성자를 정의하지 않았는데도 객체를 만들 수 있었습니다.그 이유는 J..
오버로딩은 Java에서 많이 쓰입니다. System.out.println()은 오버로딩의 대표적인 예입니다. println(int), println(String), println(double) 등 다양한 타입을 처리할 수 있습니다. 오늘은 오버로딩에 대해 자세히 알아보겠습니다! 오버로딩이란?같은 이름의 메서드를 매개변수의 개수, 타입, 순서를 다르게 해서 여러 번 정의하는 것을 말합니다. 즉, 메서드 이름은 같지만, 인자(매개변수)의 구성만 다르면 자바는 각각을 다른 메서드로 인식합니다. 오버로딩을 사용하는 이유 기능은 유사하지만 처리 방식이 다양한 경우, 같은 이름의 메서드로 묶으면 더 직관적이고 관리가 쉬워집니다.코드를 간결하고 직관적으로 사용할 수 있습니다. 사용 예시예를 들어, print()..
저희는 저번 시간에 메서드에 대해 배웠습니다.보통은 A 메서드에서 B 메서드를 호출해서 기능을 분리하거나 재사용하곤 했죠.그렇다면 이런 궁금증이 생길 수 있습니다. A 메서드가 자기 자신인 A 메서드를 다시 호출할 수 있을까? 정답은..✅ 가능합니다! 이렇게 메서드가 자기 자신을 호출하는 방식을 재귀 호출이라고 합니다.하지만 여기서 주의할 점이 하나 있어요. 종료조건이 없다면? A → A → A → A ...계속해서 끝나지 않고 호출되기 때문에❗ 프로그램이 무한 루프에 빠지고❗ 결국 StackOverflowError(스택 오버플로우) 라는 오류가 발생합니다.그래서 재귀호출에는 반드시 종료 조건이 있어야 합니다. 이번 글에서 재귀호출에 대해 더 자세히 알아보겠습니다! 재귀호출이란?재귀호출이란 메서드..
자바(Java)에서 메서드를 만들다 보면 static 키워드를 붙이는 메서드와 그렇지 않은 메서드가 존재합니다. 어떤 메서드는 객체 없이 클래스명으로 호출하고, 어떤 메서드는 꼭 객체를 만들어야 사용할 수 있습니다. 그 차이가 바로 클래스 메서드(static 메서드)와 인스턴스 메서드의 차이입니다. 클래스 메서드클래스 메서드는 static 키워드가 붙은 메서드로, 객체를 생성하지 않고도 호출할 수 있는 메서드입니다. 클래스 메서드는 아래와 같은 특징을 가지고 있습니다. 클래스가 메모리에 올라갈 때 함께 생성됨클래스 이름을 통해 직접 호출할 수 있음인스턴스 변수나 인스턴스 메서드에는 접근 불가능주로 공통 기능, 유틸리티 메서드 등에 사용 사용 예시 실습 예제MathUtil 클래스public class..
메서드란?프로그래밍을 하다 보면 같은 코드를 반복해서 작성하게 되는 경우가 많습니다. 하지만 반복되는 코드를 매번 작성하기보다는, 하나의 코드로 정의해두고 여러 곳에서 재사용하는 것이 훨씬 효율적이고 관리하기 쉽습니다. 이럴 때 사용하는 것이 바로 메서드(Method) 입니다. 메서드는 반복되는 코드를 하나로 묶어 재사용할 수 있게 해주는 프로그래밍의 핵심 도구입니다. 메서드는 특정 작업을 수행하는 코드 블록으로 아래와 같이 정리할 수 있습니다.어떤 기능을 하나로 묶은 코드 덩어리입니다.반복적으로 사용되는 코드를 한 번만 정의하고, 필요할 때마다 호출해서 사용할 수 있습니다.Java에서는 메서드가 클래스 안에 정의됩니다. 메서드의 필요성코드의 재사용성 같은 코드를 여러 번 쓰지 않고 한 번 정의해서 ..