굳이 int squareWidth; squareHeight; 이렇게 했을 때랑 struct Node Square{int width; int height;} 쓸 때 Square 타입에 대해서만 알면 find area(struct Node *Square)간단히 생각 가능하잖음 여기서 나온 개념임 근데 함수형으로 짤 떄 단순히 findSquare(squareHeight,squareWidth)int square=squareHeight*squareWidth; return square; 하면 내부 인자가 직관적이지가 안잖음.. 그냥 사각형으로 인자 보내면 되는데.. 함수형으로도 은닉화할수 있긴함
익명(220.70)2022-06-05 20:30
답글
그렇다고 이게 c언어 같은 것이 절차형 보다 모든 경우에서 낫다는 건 아님.. 함수형에서 절차형을 구현하려면 많은 로직을 바꿔야 될거고, 저도 이 부분은 잘 모르겠음.. 확실한건 배보다 배꼽이 큰 상황이라 할 이유가 없음.. 반대로 Java에서는 이걸 추상적인 형태로 지원해주기 떄문에 관리 이점에서 좀 더 편하게 다가옴 c언어가 자바 같은 언어를 구현하는 것은 불가능하지 않는데, c언어 입장에서 굳이 이거 하나 짠다고 프로그래머가 1000줄 10000줄 짠다는 건 불편한 일이고 java는 이걸 추상적인 형태로 제공할 뿐임 그래서 low하게 생각해보면 이건 되게 불필요한 리소스를 낭비할 수도 있음.. 근데 생각을 바꿔보면 이건 어셈->c단 역시도 동일함 더 할말은 많은데 하지 않겠음
먼가있어보이잖아
함수형으로 짜는 것보다 조금 더 확장된 형태임.. 구조체 같은걸 생각해보셈
굳이 int squareWidth; squareHeight; 이렇게 했을 때랑 struct Node Square{int width; int height;} 쓸 때 Square 타입에 대해서만 알면 find area(struct Node *Square)간단히 생각 가능하잖음 여기서 나온 개념임 근데 함수형으로 짤 떄 단순히 findSquare(squareHeight,squareWidth)int square=squareHeight*squareWidth; return square; 하면 내부 인자가 직관적이지가 안잖음.. 그냥 사각형으로 인자 보내면 되는데.. 함수형으로도 은닉화할수 있긴함
그렇다고 이게 c언어 같은 것이 절차형 보다 모든 경우에서 낫다는 건 아님.. 함수형에서 절차형을 구현하려면 많은 로직을 바꿔야 될거고, 저도 이 부분은 잘 모르겠음.. 확실한건 배보다 배꼽이 큰 상황이라 할 이유가 없음.. 반대로 Java에서는 이걸 추상적인 형태로 지원해주기 떄문에 관리 이점에서 좀 더 편하게 다가옴 c언어가 자바 같은 언어를 구현하는 것은 불가능하지 않는데, c언어 입장에서 굳이 이거 하나 짠다고 프로그래머가 1000줄 10000줄 짠다는 건 불편한 일이고 java는 이걸 추상적인 형태로 제공할 뿐임 그래서 low하게 생각해보면 이건 되게 불필요한 리소스를 낭비할 수도 있음.. 근데 생각을 바꿔보면 이건 어셈->c단 역시도 동일함 더 할말은 많은데 하지 않겠음
절차형 x 객체형 o
struct square 오타임