super 키워드 역할 상속 관계에서 부모 클래스의 멤버에 접근하고 활용하는데 사용됩니다. 자식 클래스에서 동일한 이름의 멤버 변수가 있을 경우, super 키워드를 통해 부모 클래스의 멤버 변수에 접근할 수 있음을 의미합니다. 자식 클래스에서 오버라이딩을 하고 super 키워드를 사용하면 부모 클래스의 기능(메서드)을 확장할 수 있습니다. super 키워드 멤버변수 예제 class Parent { String name = "부모"; } class Child extends Parent { String name = "자식"; public void show() { System.out.println(name); // 자식 System.out.println(this.name); // 자식 System.out.p..
상속의 정의 상속은 하나의 클래스가 다른 클래스의 속성과 메서드를 물려받는 개념을 의미합니다. 이는 자식 클래스(하위 클래스)가 부모 클래스(상위 클래스)의 속성과 메서드를 재사용하고 확장할 수 있도록 합니다. 상속의 개념 부모 클래스의 속성과 메서드를 자식 클래스에서 상속받아 자신의 기능을 추가하거나 변경하여 확장할 수 있습니다. 부모 클래스를 수정하지 않고 자식 클래스를 통해 새로운 기능을 추가할 수 있습니다. 상속 예제 // 부모 클래스 class Animal { void makeSound() { System.out.println("동물 소리"); } } // 자식 클래스 class Dog extends Animal { // 부모 클래스의 메서드를 오버라이딩하여 재정의 @Override void m..
객체의 생성 객체의 생성은 클래스를 기반으로 실제 인스턴스를 만드는 과정입니다. 객체는 new 키워드를 통해 생성하며, 생성자 메서드를 통해 객체의 초기 상태를 설정하고 필요한 초기화 작업을 수행합니다. 객체가 생성됨에 따라 클래스에서 정의한 속성과 메서드가 해당 객체에 대해 사용 가능해집니다. 객체의 사용 한번 객체가 생성되면 해당 객체를 통해 클래스에서 정의한 속성과 메서드를 활용할 수 있습니다. 객체의 속성은 클래스의 멤버 변수로 정의되며, 객체마다 다른 값을 가질 수 있습니다. this 메서드(다른 생성자 호출) 주의사항 생성자에서만 호출합니다. 같은 클래스에서만 호출합니다. 생성자 메서드의 첫 번째 문장에서 호출합니다. 객체의 생성 및 사용 예제 class Car { String brand; S..
클래스의 정의 클래스는 현실 세계의 개념을 추상화하여 소프트웨어에서 사용할 수 있는 형태로 표현한 것입니다. 클래스는 객체의 특성과 행동을 기술하며, 이러한 특성과 행동은 멤버 변수와 메서드로 표현됩니다. 클래스는 실제 객체를 생성하기 위한 틀이며, 객체는 해당 클래스의 인스턴스입니다. 클래스의 구조 클래스 이름 : 클래스의 식별을 위한 이름으로, 일반적으로 첫 글자를 대문자로 작성하는 카멜 케이스 명명 규칙을 따릅니다. 멤버 변수(속성) : 클래스가 가지는 특성을 나타내는 변수입니다. 이러한 변수는 객체의 상태를 나타내고 저장합니다. 메서드(행동) : 클래스가 가지는 동작을 나타내는 함수입니다. 메서드는 객체가 수행할 수 있는 작업을 정의하고 구현합니다. 생성자 : 객체를 생성할 때 호출되는 특수한 메..
재귀 메서드는 자기 자신을 호출하는 메서드로, 프로그래밍에서 반복적인 작업을 간단하게 표현하거나 복잡한 문제를 해결하는데 사용됩니다. 재귀 메서드의 특징 종료 조건을 명시하지 않으면 무한 루프에 빠지기 때문에 종료 조건이 만족되면 재귀 호출이 중단되도록 합니다. 재귀 메서드 예제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...