자바의 객체지향 프로그래밍에 대해 알아볼 거예요!
객체지향은 프로그래밍의 중요한 패러다임 중 하나로,
여러분이 현실 세계의 개념을 코드로 표현할 수 있도록 해줘요.
예를 들어, 은행 계좌를 클래스로 만들어 입출금 기능을 구현해볼 거예요.
그 과정에서 클래스, 객체, 생성자, 상속, 다형성의 개념도 배워볼 거랍니다!
■ 클래스와 객체란?
클래스는 객체를 만들기 위한 설계도예요.
객체는 이 설계도를 바탕으로 만들어진 실제 물건과 같아요.
예를 들어, 은행 계좌가 클래스라면, 여러분이 만든 각 계좌가 객체가 되는 거죠.
public class BankAccount { // 필드 (속성) private String owner; private double balance; // 생성자 (객체 생성 시 호출) public BankAccount(String owner, double initialBalance) { this.owner = owner; this.balance = initialBalance; } // 메서드 (기능) public void deposit(double amount) { balance += amount; } public void withdraw(double amount) { if (balance >= amount) { balance -= amount; } else { System.out.println("잔액이 부족합니다."); } } public double getBalance() { return balance; } } |
BankAccount 클래스는 계좌 소유자와 잔액을 관리하는 객체를 만들 수 있게 해줘요.
생성자를 통해 객체 생성 시 초기 값(소유자와 잔액)을 설정합니다.
■ 객체 생성과 사용하기
public class Main { public static void main(String[] args) { // BankAccount 객체 생성 BankAccount myAccount = new BankAccount("Alice", 1000.0); // 입금과 출금 수행 myAccount.deposit(500); myAccount.withdraw(200); // 잔액 확인 System.out.println("잔액: " + myAccount.getBalance()); } } |
이 코드는 Alice의 은행 계좌를 만들고, 500원을 입금한 후 200원을 출금해요.
그리고 최종 잔액을 출력하죠.
객체지향 프로그래밍의 클래스와 메서드를 이해하는 첫 단계로 아주 좋은 예제랍니다!
■ 상속과 다형성
상속(Inheritance)은 기존 클래스를 확장해 새로운 클래스를 만드는 것을 말해요.
은행 계좌를 확장해 적금 계좌를 만들 수 있어요.
public class SavingsAccount extends BankAccount { private double interestRate; public SavingsAccount(String owner, double initialBalance, double interestRate) { super(owner, initialBalance); // 부모 클래스 생성자 호출 this.interestRate = interestRate; } public void applyInterest() { double interest = getBalance() * interestRate; deposit(interest); } } |
SavingsAccount는 BankAccount를 상속해 적금 계좌의 기능을 추가했어요.
super() 키워드로 부모 클래스의 생성자를 호출합니다.
■ 다형성(Polymorphism) 활용하기
다형성은 여러 객체가 동일한 메서드를 다르게 구현할 수 있게 해줘요.
예를 들어, 다양한 종류의 계좌가 있지만, 모두 withdraw() 메서드를 가진다고 생각해 볼게요.
public class Main { public static void main(String[] args) { BankAccount account1 = new BankAccount("Bob", 1000); SavingsAccount account2 = new SavingsAccount("Alice", 5000, 0.02); account1.withdraw(100); account2.withdraw(100); account2.applyInterest(); // 이자 적용 } } |
여기서 SavingsAccount는 applyInterest() 메서드를 통해 적금 계좌만의 기능을 수행할 수 있어요.
이런 게 바로 다형성의 매력입니다!
정리
자바의 객체지향 프로그래밍(OOP)의 기본 개념인
클래스, 객체, 생성자, 상속, 다형성을 배웠어요.
이제 여러분도 은행 계좌 프로그램을 통해 객체지향 개념을 직접 체험해 봤으니,
더 큰 프로그램도 스스로 설계할 수 있을 거예요!
객체지향을 제대로 이해하면
프로그램이 더 유지보수하기 쉽고 재사용 가능해지니 꼭 복습해 보세요.
'IT > 자바 Java' 카테고리의 다른 글
자바 스레드와 동기화 쉽게 이해하기 . 실습으로 배우는 병렬 처리 (0) | 2024.11.25 |
---|---|
자바로 안전한 코드 작성하기 . 예외 처리와 파일 입출력 (0) | 2024.11.24 |
자바 배열과 ArrayList HashMap 언제 무엇을 써야 할까? (0) | 2024.11.22 |
자바 조건문과 반복문 정복하기 . if-else부터 while까지 (0) | 2024.11.21 |
자바 입문 첫걸음 . Hello, World! (0) | 2024.11.20 |
댓글