본문 바로가기

java18

전략 패턴(Strategy pattern) 1. 특정 메서드를 구현하고 상속을 하면, 이후에 해당 클래스를 상속받아 사용하는 클래스들에게 당연하게도 기능이 상속된다. 그럴 경우 상속받은 클래스는 구현된 기능과 어울리지 않는 속성의 클래스 일 수 있는데, 해당 메서드를 접근 가능하게 되어 문제가 발생한다. -> 상속으로 코드 재사용 생각할 경우 문제 오리 클래스에 fly() 메서드 구현하고 상속했을때, 추후 장남감 오리 클래스 만들어서 오리 클래스 상속받으면, 장난감 오리도 fly() 메서드를 사용할 수 있는 문제가 발생한다. 안 그러고 상속받아서 사용하려면 일일이 fly()메서드를 빈 메서드로 오버라이드 해야 한다. 2. (1) 문제 해결하기 위하여 클래스를 상속받은 클래스마다 interface를 사용해서 내용 구현하는 방법을 사용한다면? -> .. 2022. 8. 19.
1. 의미 있는 이름 짓기 변수의 이름, 클래스의 이름, 함수의 이름, 모듈의 이름 등 모두 어떤 역할을 하는지 직관적으로 알 수 있게 지어야 한다. 함수 선언 변경하기 ( Change Function Declaration ) 변수 이름 바꾸기 (Rename Variable) 필드 이름 바꾸기 (Rename Field) 함수 선언 변경하기 좋은 이름을 찾는 방법은 함수에 주석을 작성한 다음, 주석을 함수 이름으로 만들어 보면서 찾는다. 함수의 매개변수는 함수 내부의 문맥을 결정한다. 의존성을 결정한다. 변수 이름 바꾸기 더 많이 사용되는 변수일수록 그 이름이 더 중요하다 람다식에서 사용하는 변수 vs 함수의 매개변수 람다식은 범위가 아주 좁기 때문에 함수 매개변수보다 상대적으로 간략히 적어도 됨, 필드 이름 바꾸기 Recoird .. 2022. 4. 1.