클래스 및 객체 (Classes and Objects)
Java에서 클래스와 객체는 객체지향 프로그래밍의 핵심 개념입니다. 클래스는 객체를 만들기 위한 템플릿이며, 객체는 클래스의 인스턴스입니다.
클래스 정의 (Defining Classes)
클래스는 데이터와 메서드로 구성됩니다. 데이터는 클래스의 속성을 나타내며, 메서드는 클래스에서 수행할 수 있는 동작을 정의합니다.
클래스 정의 예제:
// Person 클래스 정의 public class Person { // 속성(멤버 변수) String name; int age; // 메서드 void displayInfo() { System.out.println("이름: " + name + ", 나이: " + age); } }
위의 예제에서 Person
클래스는 name
과 age
라는 속성을 가지며, displayInfo()
라는 메서드를 정의하고 있습니다.
객체 생성 (Creating Objects)
클래스를 기반으로 실제로 사용할 수 있는 객체를 생성할 수 있습니다. 객체는 new
키워드를 사용하여 생성됩니다.
객체 생성 및 사용 예제:
public class Main { public static void main(String[] args) { // Person 객체 생성 Person person1 = new Person(); // 객체의 속성 설정 person1.name = "Alice"; person1.age = 30; // 객체의 메서드 호출 person1.displayInfo(); // 출력: 이름: Alice, 나이: 30 // 또 다른 Person 객체 생성 Person person2 = new Person(); person2.name = "Bob"; person2.age = 25; person2.displayInfo(); // 출력: 이름: Bob, 나이: 25 } }
위의 예제에서 Person
클래스로부터 person1
과 person2
라는 객체를 생성하고 있습니다. 각 객체는 name
과 age
속성을 가지며, displayInfo()
메서드를 호출하여 객체의 정보를 출력합니다.
메서드 (Methods)
메서드는 클래스 내부에서 정의된 함수로, 특정 작업을 수행하는 코드 블록입니다.
메서드 예제:
// Circle 클래스 정의 public class Circle { double radius; // 원의 넓이 계산 메서드 double calculateArea() { return Math.PI * radius * radius; } // 원의 둘레 계산 메서드 double calculatePerimeter() { return 2 * Math.PI * radius; } }
위의 예제에서 Circle
클래스는 원의 반지름을 나타내는 radius
속성을 가지며, calculateArea()
와 calculatePerimeter()
메서드를 정의하고 있습니다. 이 메서드들은 각각 원의 넓이와 둘레를 계산하여 반환합니다.
Java의 클래스와 객체는 객체지향 프로그래밍의 핵심이며, 잘 이해하고 활용할 수 있어야 Java 프로그래밍을 효과적으로 할 수 있습니다.