객체의 생성 객체의 생성은 클래스를 기반으로 실제 인스턴스를 만드는 과정입니다. 객체는 new 키워드를 통해 생성하며, 생성자 메서드를 통해 객체의 초기 상태를 설정하고 필요한 초기화 작업을 수행합니다. 객체가 생성됨에 따라 클래스에서 정의한 속성과 메서드가 해당 객체에 대해 사용 가능해집니다. 객체의 사용 한번 객체가 생성되면 해당 객체를 통해 클래스에서 정의한 속성과 메서드를 활용할 수 있습니다. 객체의 속성은 클래스의 멤버 변수로 정의되며, 객체마다 다른 값을 가질 수 있습니다. this 메서드(다른 생성자 호출) 주의사항 생성자에서만 호출합니다. 같은 클래스에서만 호출합니다. 생성자 메서드의 첫 번째 문장에서 호출합니다. 객체의 생성 및 사용 예제 class Car { String brand; S..
클래스의 정의 클래스는 현실 세계의 개념을 추상화하여 소프트웨어에서 사용할 수 있는 형태로 표현한 것입니다. 클래스는 객체의 특성과 행동을 기술하며, 이러한 특성과 행동은 멤버 변수와 메서드로 표현됩니다. 클래스는 실제 객체를 생성하기 위한 틀이며, 객체는 해당 클래스의 인스턴스입니다. 클래스의 구조 클래스 이름 : 클래스의 식별을 위한 이름으로, 일반적으로 첫 글자를 대문자로 작성하는 카멜 케이스 명명 규칙을 따릅니다. 멤버 변수(속성) : 클래스가 가지는 특성을 나타내는 변수입니다. 이러한 변수는 객체의 상태를 나타내고 저장합니다. 메서드(행동) : 클래스가 가지는 동작을 나타내는 함수입니다. 메서드는 객체가 수행할 수 있는 작업을 정의하고 구현합니다. 생성자 : 객체를 생성할 때 호출되는 특수한 메..
접근 제어자는 객체 지향 프로그래밍에서 클래스의 멤버(필드, 메서드, 내부 클래스 등)에 대한 접근 범위를 지정하는 데 사용되는 키워드입니다. 이는 클래스의 캡슐화, 정보 은닉, 보안, 유지 관리 등의 측면에서 중요한 역할을 합니다. public 가장 넓은 범위의 접근 제어자로, 어떤 클래스에서든 해당 멤버에 접근할 수 있습니다. 다른 패키지에서도 접근 가능합니다. protected 같은 패키지 내의 클래스와 해당 클래스를 상속한 클래스에서 접근할 수 있습니다. 패키지가 다른 경우에도 상속 관계가 있다면 접근이 가능합니다. 하위 클래스에서 오버라이딩할 때 유용하며, 외부에서의 접근을 제한하면서 상속을 통해 확장할 수 있습니다. default 접근 제어자를 명시하지 않은 경우, 같은 패키지 내에서만 접근할..
재귀 메서드는 자기 자신을 호출하는 메서드로, 프로그래밍에서 반복적인 작업을 간단하게 표현하거나 복잡한 문제를 해결하는데 사용됩니다. 재귀 메서드의 특징 종료 조건을 명시하지 않으면 무한 루프에 빠지기 때문에 종료 조건이 만족되면 재귀 호출이 중단되도록 합니다. 재귀 메서드 예제1(팩토리얼) public class Example { public static void main(String[] args) { int num = 5; int factorial = calculateFactorial(num); } public static int calculateFactorial(int n) { if (n == 0 || n == 1) { // 종료 조건 return 1; } else { return n * calcu..
메서드 오버로딩과 가변 인자는 자바에서 메서드의 다양한 호출 방식과 유연성을 제공하는 중요한 개념입니다. 이를 통해 동일한 메서드 이름으로 다양한 매개변수를 처리하거나, 가변 개수의 인자를 전달할 수 있게 됩니다. 메서드 오버로딩 메서드 오버로딩은 같은 이름의 메서드를 여러 개 정의하되, 매개변수의 개수나 타입이 다르게하여 다양한 상황을 처리하는 개념입니다. 이는 메서드의 이름을 통일하면서도 다양한 형태의 호출을 지원하여 코드의 가독성과 재사용성을 높이는데 도움이 됩니다. 메서드 오버로딩 예제 public class Example { public static void main(String[] args) { int sumInt = add(5, 10); double sumDouble = add(2.5, 3...
인자 전달은 메서드에 데이터를 전달하는 과정을 의미합니다. 메서드가 수행하는 작업을 위해 필요한 데이터를 전달하기 위해 사용됩니다. 이때 전달되는 데이터를 매개변수(Parameter)라고 하며, 메서드 정의에 매개변수의 타입과 이름이 명시됩니다. 메서드 인자 전달 방식 값에 의한 전달 (Call by Value) : 값에 의한 전달은 메서드 호출 시에 인자로 전달되는 데이터의 복사본이 메서드의 매개변수로 전달되는 방식입니다. 즉, 메서드 내에서 매개변수 값을 변경해도 원본 데이터는 변하지 않습니다. 기본 데이터 타입을 인자로 전달할 때 적용됩니다. 참조에 의한 전달 (Call by Reference) : 참조에 의한 전달은 메서드 호출 시에 데이터의 참조(메모리 주소)가 메서드의 매개변수로 전달되는 방식..