추상화
추상화
컴퓨터 과학에서 복잡한 자료, 모듈, 시스템 등으로부터 핵심적인 개념 또는 기능을 간추려 내는 것
컴퓨터 과학에서 복잡한 자료, 모듈, 시스템 등으로부터 핵심적인 개념 또는 기능을 간추려 내는 것
하드디스크에서는 파일, 네트워크에서는 포트, 메모리에 대해 주소, CPU에 대해 프로세스 라는 추상화된 접근 방식 제공
복잡한 소프트웨어 시스템을 효율적으로 설계하고 구현할 수 있는 방법
-
소프트웨어에서의 추상화
뒷편 시스템의 기술적 복잡함을 단순한 API 뒤에 숨김
class Implement { set(x, y) { this.a = x; this.b = y } display() { console.log(this.a) console.log(b) } } const obj = new Implement(); obj.set(10, 20) obj.display() // a = 10 // b = 10
class 내부에 메서드를 둠
사용할때는 인스턴스를 만들고 호출만 함으로써 단순하게 접근
-
장점
사용자가 낮은 수준의 코드 작성하도록 도움
고드 중복 방지, 재사용성 향상
사용자에게 영향을 끼치지 않은 채로 독립적으로 클래스 내부 구현
중요한 정보만 사용자에게 제공함으로써 보안 향상에 도움