목록코딩 (25)
개발자는 기록이 답이다
Exception과 Error의 차이점 Exception과 Error는 모두 자바에서 예외 처리 관련된 클래스들을 나타낸다. 그러나 두 개의 주요 차이점이 있다. 특성 Exception(예외) Error(에러) 발생 원인 주로 프로그램 외부 요인으로 발생 주로 가상머신 같은 시스템 레벨에서 발생 메인보드 고장, 디스크 고장 등 처리 여부 개발자가 명시적으로 처리 가능 주로 프로그램이 직접 처리하지 않음 예시 NullPointException, IOException OutOfMemoryError, StackOverflowError, NoClassDefFoundError 처리 방법 try-catch 블록을 사용하여 예외 처리 일반적으로 프로그램이 직접 처리하지 않음 예외 처리 가능 여부 일반적으로 예외 처리..
static 키워드는 클래스의 멤버(변수 또는 메서드)에 적용되며, 해당 멤버가 클래스 자체에 속하도록 지정한다. static 멤버는 클래스의 인스턴스와 관련이 없이 클래스 자체에 속하므로, 여러 인스턴스 간에 데이터를 공유하고 특정 작업을 수행하는 데 사용된다. static키워드를 사용하는 이유? 주로 메모리 효율성과 프로그램 구조의 편의성을 높이기 위해서이다. 먼저, static 멤버는 클래스 수준에 속하므로 프로그램이 시작될 때 메모리에 할당되어 종료될 때까지 유지된다. 이로써 여러 인스턴스에서 동일한 값을 공유하거나 전역 상태를 유지할 때 메모리를 효율적으로 사용할 수 있다. 또한, static 멤버는 객체의 생성 없이 직접 클래스 이름으로 접근할 수 있어서, 클래스 수준에서 독립적인 기능을 구현..
Effective Java를 공부하다보면 아래와 같은 파트가 있다. equals와 hashCode에 대해 디테일하게 알아보는 시간을 갖고자한다. 'equals는 일반 규약을 지켜 재정의하라' 'equals를 재정의하려거든 hashCode()도 재정의하라' equals와 hashcode 메소드에 대해 알아보자 equals와 hashCode는 모든 Java 객체의 부모 객체인 Object 클래스에 정의되어 있다. 그렇기 때문에 Java의 모든 객체는 Object 클래스에 정의된 equals와 hashCode 함수를 상속받고 있다. 따라서, 클래스에서 이 메소드들을 사용하거나 오버라이드하여 재정의할 수 있다. 🚩 equals란 ? 2개의 객체가 동일한지 검사하기 위해 사용된다. 2개의 객체가 가리키는 곳이 동..
3. 구현을 통한 검증 Screening을 구현하는 것으로 시작하자. Screening은 영화를 예매할 책임을 맡으며 그결과로 Reservation 인스턴스를 생성할 책임을 수행해야 한다. 다시 말해 Screening은 예매에 대한 정보 전문가인 동시에 Reservation의 창조자이다. 협력의 관점에서 예매하라 메시지에 응답할 수 있어야 한다. package chapter5.movie; public class Screening { public Reservation reserve(Customer customer, int audiencCount) {} } 책임이 결정됐으므로 책임을 수행하는데 필요한 인스턴스 변수를 결정해야 한다. 상영 시간, 상연 순번, Movie에 가격을 계산하라 메시지를 전송해야 하기..