클래스와 객체

 

Java는 객체지향 프로그래밍(OOP) 언어로, 클래스와 객체는 Java 프로그래밍의 핵심 개념입니다. 클래스는 객체를 생성하기 위한 틀이며, 객체는 클래스의 인스턴스입니다.

 

1. 클래스(Class)

클래스는 객체의 속성(필드)과 행위(메소드)를 정의합니다. 클래스는 다음과 같은 구성 요소를 가질 수 있습니다.

  • 필드(Fields): 객체의 데이터를 저장하는 변수
  • 메소드(Methods): 객체의 행위를 정의하는 함수
  • 생성자(Constructors): 객체 생성 시 초기화를 담당하는 특별한 메소드
  • 중첩 클래스(Nested Classes): 클래스 내부에 정의된 클래스

예제 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class Person {
    // 필드
    private String name;
    private int age;
    // 생성자
    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }
    // 메소드
    public void sayHello() {
        System.out.println(“Hello, my name is “ + name + ” and I’m “ + age + ” years old.”);
    }
}
cs

2. 객체(Object)

객체는 클래스의 인스턴스로, new 키워드를 사용하여 생성됩니다. 객체는 고유한 상태를 가지며, 클래스에 정의된 메소드를 호출할 수 있습니다.

예제 코드

1
2
3
4
5
Person person1 = new Person(“John”25);
Person person2 = new Person(“Alice”30);
person1.sayHello(); // Output: Hello, my name is John and I’m 25 years old.
person2.sayHello(); // Output: Hello, my name is Alice and I’m 30 years old.
cs

3. 캡슐화(Encapsulation)

캡슐화는 객체의 내부 상태를 외부로부터 보호하고, 객체의 속성에 대한 접근을 제어하는 것을 말합니다. Java에서는 접근 제어자(private, public, protected, default)를 사용하여 캡슐화를 구현합니다.

예제 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
public class BankAccount {
    private String accountNumber;
    private double balance;
    public String getAccountNumber() {
        return accountNumber;
    }
    public void setAccountNumber(String accountNumber) {
        this.accountNumber = accountNumber;
    }
    public double getBalance() {
        return balance;
    }
    public void deposit(double amount) {
        balance += amount;
    }
    public void withdraw(double amount) {
        if (balance >= amount) {
            balance = amount;
        } else {
            System.out.println(“Insufficient balance.”);
        }
    }
}
cs

4. 메소드 오버로딩(Method Overloading)

메소드 오버로딩은 같은 이름의 메소드를 여러 개 정의하는 것을 말합니다. 메소드 오버로딩을 위해서는 메소드의 매개변수 타입, 개수, 순서 중 하나 이상이 달라야 합니다.

예제 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
public class Calculator {
    public int add(int a, int b) {
        return a + b;
    }
    public double add(double a, double b) {
        return a + b;
    }
    public int add(int a, int b, int c) {
        return a + b + c;
    }
}
cs

5. this 키워드

this 키워드는 현재 객체를 참조하는 데 사용됩니다. 주로 생성자나 메소드에서 매개변수와 필드의 이름이 같을 때, 필드를 명시적으로 지정하기 위해 사용합니다.

예제 코드

1
2
3
4
5
6
7
8
9
public class Point {
    private int x;
    private int y;
    public Point(int x, int y) {
        this.x = x;
        this.y = y;
    }
}
cs

 

클래스와 객체는 Java 프로그래밍의 기반이 되는 개념으로, 이를 잘 이해하고 활용한다면 효과적이고 유지보수성 높은 코드를 작성할 수 있습니다.

관련사이트

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다