oop

객체 지향 프로그래밍: 자바 예제를 통한 OOP 개념 설명

객체 지향 프로그래밍(OOP)은 소프트웨어 개발에서 중심적인 패러다임 중 하나입니다. 자바는 이러한 패러다임을 완벽하게 구현하는 언어 중 하나로, 이 글에서는 자바를 사용하여 OOP의 핵심 개념들을 설명하고자 합니다.

OOP의 네 가지 기본 원칙

  • 캡슐화(Encapsulation):
    • 데이터(속성)와 코드(메소드)를 하나의 단위로 묶는 과정입니다.
    • 예제: 계좌(Account) 클래스에서 잔액(balance)을 private로 설정하여 외부 접근을 제한합니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class Account {
    private double balance;
    public Account(double initialBalance) {
        if (initialBalance > 0) {
            this.balance = initialBalance;
        }
    }
    public void deposit(double amount) {
        if (amount > 0) {
            balance += amount;
        }
    }
    public double getBalance() {
        return balance;
    }
}
cs

 

상속(Inheritance):

  • 한 클래스가 다른 클래스의 속성과 메소드를 상속받는 것입니다.
  • 예제: 직원(Employee) 클래스가 사람(Person) 클래스로부터 상속받습니다.
1
2
3
4
5
6
7
8
9
10
11
12
public class Person {
    private String name;
    private int age;
    // Getters and Setters
}
public class Employee extends Person {
    private String employeeId;
    // Employee class methods
}
cs

 

다형성(Polymorphism):

  • 객체가 여러 형태를 가질 수 있는 능력입니다.
  • 예제: 도형(Shape) 클래스를 확장하는 다양한 형태의 도형 클래스(원, 사각형 등).
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public abstract class Shape {
    public abstract void draw();
}
public class Circle extends Shape {
    public void draw() {
        System.out.println(“Drawing Circle”);
    }
}
public class Rectangle extends Shape {
    public void draw() {
        System.out.println(“Drawing Rectangle”);
    }
}
cs

 

추상화(Abstraction):

  • 복잡한 실제 상황을 단순화하는 과정입니다.
  • 예제: 동물(Animal) 추상 클래스와 그것을 상속받는 구체적인 클래스.
1
2
3
4
5
6
7
8
9
public abstract class Animal {
    public abstract void sound();
}
public class Dog extends Animal {
    public void sound() {
        System.out.println(“Bark”);
    }
}
cs

자바를 통한 객체 지향 프로그래밍의 이해는 개발자로 하여금 더욱 유연하고 효율적인 소프트웨어 설계를 가능하게 합니다. OOP의 기본 원칙들은 복잡한 문제를 해결하는 강력한 도구를 제공합니다.

Tags:

답글 남기기

Your email address will not be published. Required fields are marked *.

*
*