---
title: "CS Study 02"
date: 2020-06-17
updated: 2020-06-17
category: computer-science
canonical: https://intzzzero.dev/cs-study-02/
source: "Between Negative and Positive"
language: ko
---
## 프로그래머가 하는 일은 추상화(abstraction)
- 함수(function, routine, procedure, subroutine)
- procedural programming =절차지향
- 객체(object)
-> OOP(object - oriented - programming) 객체지향

- 함수에서의 추상화란,
-> ‘함수 시그니처(함수이름, 매개변수, 결과값)’ 또는 ‘인터페이스’와 ‘내부구현’을 구분(seperation)하는 것

- Documentation은 함수 시그니처를 모아놓은 것
- 내부구현은 알고리즘으로 이루어져있고, 이를 테스트할 때  O(n)를 이용

## 함수를 만들 때 유의할 점
- 함수이름은, 누가 보더라도 어떤 용도인지 알 수 있도록 명확하게
- 매개변수, return 등 인터페이스를 동일하게 설계해야 함. 이를 기능명세라고 함.

## 2진수 정규화(normalization)
- 정규화: 정수부를 1자리수, 0이 아닌 자연수
- 예: 123.82 -> 1.23482 x 10 **2
- mantissa 부분은 정밀도를 의미한다.

### Epsilon

### 언어 추상화

### 파이썬

## mutable object(변경 가능 객체)
- 리스트
- 딕셔너리
- 집합(set)

## immutable object(변경 불가능 객체)
- 정수, 상수, 정수 
- 문자열
- 튜플
