해결된 질문
작성
·
333
·
수정됨
답변 2
1
아무거나123님, 아니오. Java를 공부하면서 그런 생각을 하게 된 것 같습니다. 추상화라는 말은 OOP만 있는 것이 아니라 보편적으로 사용하는 어휘입니다. 그러므로 추상과 구현으로 나눠 생각하는 것은 적절치 않습니다. 구현은 이미 OS에 되어 있습니다. 단, OS에게 입/출력을 요구할 수 있는 허용된 인터페이스로써 소켓이 존재함을 설명한 것입니다.
API에서 I는 인터페이스 입니다. 그 인터페이스는 상황에 따라 추상화된 결과 일 수 있습니다. 참고하시기 바랍니다. 😄
1
조금 섞인 것 같습니다. '(장치) 파일'은 커널의 구성요소에 대해 사용자 모드 프로세스가 접근 할 수 있도록 제공된 추상화된 인터페이스 입니다. 그리고 커널 구성요소가 프로토콜인 경우 추상화된 인터페이스 파일을 특별히 소켓이라 부릅니다. 이렇게 정리하는 것이 좋겠습니다. 😄
API의 I가 인터페이스인 점을 상기해 주셔서 이해했습니다. 너무 자바에 매몰되어 생각했습니다. 소켓을 아래와 같이 정의해보려고 합니다.
복잡한 네트워크 통신 구현 세부사항을 추상화하여 User mode에서 프로그래머가 쉽게 접근할 수 있는 인터페이스를 소켓이라고 한다. 소켓은 OS 커널에 구현되어 있으며 어플리케이션을 구성한 프로그래밍 언어별로 제공되는 소켓 API를 통해 개발자가 소켓 파일을 직접 send(write)할 수 있다.