CS
-
Software Engineering(2) - oo principlesCS 2022. 7. 21. 22:29
object oriented 프로그래밍의 5가지 원칙(object oriented principles)에 대해 정리해보겠다. 1) Abstraction (modeling) - 중요한 state, behavior만 남기고 필요없는거는 ignore하는것. - 즉 필요한 요소만 구현 그외는 신경도 안쓴다. 2) Encapsulation (information hiding) - sw의 구현에 대한 자세한 정보 없이 sw에 쉽게 접근하고, 사용할 수 있도록 하는 것. - 자동차의 동작 방식을 몰라도, 자동차 운전을 할 수 있는것과 같은 이치 3) Inheritance (generalization) - is-a, is a kind of 관계라고 생각하면 됨. - 부모와 자식 관계로 class가 연결되어있고, 부모의..
-
Software Engineering(1) - ObjectCS 2022. 7. 21. 22:10
Object 란? 간단한 의미로, object는 개체 (entity)를 뜻한다. SW적으로 다가가면, 1) unique한 id 를 가지고 있고, 2) 특정한 boundary를 가지고 있으며, 3) 상태 (state, attribute) 에 대한 정보와 4) 행위(behavior, operation) 를 가지고 있는 것이다. object는 주로 원으로 표현된다. 원이라는 특정한 바운더리 안에, 행위와 상태가 표현된다. 주로, 해당 object에 접근하는 사람(client)는 state를 직접적으로 접근하기보다, behavior를 통해 접근한다. 그럼, object의 2개의 구성요소인 상태(status)와 행위(behavior)에 대해 자세히 알아보자. 1) Status status는 information,..
-
[Python] mutable variable 과 immutable variable (feat. copy)CS 2021. 1. 18. 18:27
Python 2가지 타입의 변수 1. immutable variable (Call by value) Int, String, Tuple... value가 처음 할당되면, 바뀌지 않는다는 뜻. 즉, 주솟값 X에 할당된 값은 변하지 않는다. (그래서 call by value) 만약 값을 변화시키면, 주솟값까지 변화가되는 variable들! 같은 이름을 같더라도 값이 변화하면, 주소값이 변화한다. 2. mutable variable (Call by reference) value 할당되고, 계속 변화할 수 있는 variable List, Dictionary, Set... 값을 변화시켜도, 할당된 주솟값은 변하지 않는다. (그래서 call by refernce) 이 variable들은 value자체를 복사하기 위해..