2018년 3월 28일 수요일

함수형 프로그래밍 관련 용어 공부 정리

다형성이란 (polymorphic) ?

다형성이란 상위클래스 타입의 변수에 여러개의 하위클래스의 객체를 참조할 수 있도록 하는것을 이야기 한다.  즉 같은 타입이지만 오른쪽에 실제 런타임중에 new되는 객체(하위클래스)의
메소드가 실행되어 동일한 메소드가 다양한 형태를 표출한다는 것 이다.

다음과 같은 장점이 있다.

1. 여러 타입의 객체를 하나의 타입으로 관리하니 유지보수가 좋다.
(변경 사항 발생시 다형성으로 구현하지 않았을 때의 절반이상 코딩양 준다.)

2. 메속드의 매개변수(인자)로 상위 클래스, 추상 클래스, 인터페이스등이 온다면
그 하위클래스, 인터페이스를 구현한 클래스등이 인자로 들어 갈 수 있어 좀 더
유연한 프로그래밍을 할 수 있다. (당연히 이부분도 프로그램의 유지보수 차원에서 좋다)

3. 확장성이 좋은 코드를 작성할 수 있고, 결합도가 강하지 않은 프로그래밍을 할 수 있다.

참조 사이트
http://whatisthenext.tistory.com/34
http://asfirstalways.tistory.com/168
https://brunch.co.kr/@kd4/4