OOP 2

객체지향 설계의 5원칙 (SOLID)

1. 단일 책임 원칙 (Single Responsibility Principle, SRP) "클래스는 단 하나의 책임만 가져야 한다."하나의 클래스는 하나의 기능이나 역할만 담당해야 합니다.클래스가 여러 책임을 가지게 되면, 하나의 변경이 다른 기능에 영향을 미칠 수 있습니다.예시:위 코드에서 calculateTotal과 printInvoice는 다른 책임을 가지므로, 별도의 클래스로 분리하는 것이 좋습니다. public class Invoice { public void calculateTotal() { /* 총액 계산 */ } public void printInvoice() { /* 청구서 출력 */ }}2. 개방-폐쇄 원칙 (Open-Closed Principle, OC..

Back_End/Java 2024.12.11

Java에서 equals()와 hashCode() 메서드 오버라이딩

equals()와 hashCode()란 무엇인가? 🤔equals() 메서드: 두 객체가 논리적으로 동등한지 비교합니다. 기본적으로 Object 클래스에서 제공하는 equals()는 두 객체의 참조값(메모리 주소)을 비교합니다.hashCode() 메서드: 객체를 식별하는 정수 값을 반환합니다. 이 값은 해시 기반 컬렉션(예: HashMap, HashSet)에서 객체를 저장하고 검색하는 데 사용됩니다.두 메서드의 관계equals()와 hashCode()는 다음과 같은 규칙에 따라 동작해야 합니다:equals()가 true를 반환하는 두 객체는 동일한 hashCode() 값을 가져야 합니다.hashCode() 값이 같은 객체가 반드시 equals()에서 true를 반환할 필요는 없습니다.이 규칙을 지키지 않..

Back_End/Java 2024.12.06