목록OOP (2)
공부하는 스누피
정적 팩터리 메서드란? 팩터리 메서드는 디자인 패턴 중 생성 패턴의 한 종류로, 생성자로 직접 객체 인스턴스를 생성하는 대신 메서드가 객체를 생성해 반환값으로 넘긴다. 클라이언트는 팩터리가 건네주는 객체가 원하는 클래스의 하위 클래스이기만 한다면 어느 클래스의 인스턴스인지 알 필요가 없게 한다. 장점 1. 생성자보다 더 구체적인 이름을 가질 수 있다. => 메서드 호출 시 직관적으로 기능을 짐작할 수 있다. 2. 메서드가 호출될 때마다 인스턴스를 생성하지 않아도 된다. => 생성자는 호출될 때마다 인스턴스를 생성해서 인스턴스를 재활용하기 어려울 뿐더러 불변 클래스에 적용할 수 없다. => 이 특징은 싱글톤을 구현할 때 적용된다. 한 싱글톤 클래스당 하나의 인스턴스만을 보장하기 때문이다. => 인스턴스를 ..
Encapsulation Class 안에 데이터와 기능을 담아 정의하고, 필요한 기능만 공개한다. 이때 중요한 데이터는 Access Modifier로 숨길 수 있다. public한 데이터를 최소화시키면 캡슐화가 잘 되어 있다고 할 수 있다. Inheritance 기존에 존재하는 객체의 속성과 기능을 상속받아 새로운 객체를 정의하는 것. 이를 통해 클래스를 재사용할 수 있다. Polymorphism 같은 타입 또는 같은 기능을 호출해서 다양한 효과를 가져오는 것을 의미한다. 대표적으로 overriding과 overloading을 예로 들 수 있는데, overriding은 같은 기능을 재정의 해서 클래스에 따라 다양한 효과를 가져올 수 있게 하였고, overloading은 같은 이름의 메서드에 파라미터에 따..