아래 코드를 살펴보자. 사각형 Rectangle이 있고, 정사각형 Square는 Rectangle을 상속받는다. height를 바꾸려고 하면, 정사각형의 특성 상 height와 width를 모두 변경한다. 위 예제는 LSP를 위배할까? 정답은 "위배한다" 이다. 먼저 LSP(리스코프 치환 원칙)란, 다음과 같다. > 하위 클래스는 상위 클래스의 행...
개념 이미지 출처: naver developer 위같은 로그인 서비스들은 별도로 application에 회원가입하지 않아도 로그인을 할 수 있게 한다. 해당하는 플랫폼에 계정만 있다면 application의 서비스를 이용할 수 있다. 이렇게 외부 서비스에서도 인증을 가능하게 하고 그 서비스의 API들을 이용하게 해주는 것이 OAuth(Open Auth...
백준 2609번을 풀다가 최대공약수를 구하는 새로운 알고리즘에 대해 공부하게 되었다. 명시적으로 기술된 가장 오래된 최대공약수 구하기 알고리즘이라고 한다. 최대공약수 풀이 유클리드 호제법(알고리즘) 2개의 자연수(또는 정식) a, b에 대해서 a를 b로 나눈 나머지를 r이라 하면(단, a>b), a와 b의 최대공약수는 b와 r의 최대공약수와 같다. 이...