프로그래밍언어론 - 용어
Algorithms + Data Structures = Programs
dangling reference ==> 해체된 공간을 가리키는 포인터, 위험 함.
dangling object (garbage라고도 함) ==> 메모리 할당은 되어있으나, 참조할 방법이 없는 것
fragmentation ==> 실제 가용 공간은 큼에도 불구하고,
가용공간이 조각나 있어서 큰 객체를 할당할 수 없게 되는 현상
aliasing
==> 같은 변수에 대한 다른 이름, 하나의 위치를 두 가지 변수가 가리키기 때문에 발생
장점 : copy본이 필요없다. 일관성 유지
단점 : 값 변동을 추적하려면 예상치 못한 결과가 나온다, readablity가 떨어진다.
Data Object의 정의
==> 데이터 값을 포함하는 container 또는 memory location, 일반적으로 변수라고 함.
Data Object의 속성
==> Type, Location, Value, Name, Scope, Lifetime
L-Value => 객체의 위치
R-Value => 변수의 내용(값)
Abstraction : 간략화 (implementaion 측면)
Encapsulation : 묶음
Information hiding : 세부구현 숨김 (Design concept 측면)
Abstract Data Types
==> 1. value와 operation을 묶을 수 있도록 언어에서 지원해야 함 (encapsulation)
2. 구현 세부 사항을 숨기도록 설계해야 함 (abstraction, information hiding)
Subprogram ==> side effect(값을 리턴하지는 않고, 다른 어떤 변수의 값을 변화시키는 것)가 일어나는 것
Function ==> 값을 리턴하는 것
Activation Records => 수행 중인 서브프로그램의 데이터 보관
Lifetime : 할당되어 사용 가능한 시간
Scope : 프로그램 내에서 볼 수 있는 영역
Parameter => 매개변수, 형식인수 (ex => sub(x, y) )
Argument => 인수, 실 인수 (ex => call sub(5, 3) )
Parameter Passing 종류
==> Call by Name, Call by Reference, Call by Value, Call by Value-result
'컴퓨터공학' 카테고리의 다른 글
퀵소트 - 알고리즘 (4) | 2008.09.21 |
---|---|
삽입정렬 - 알고리즘 (0) | 2008.09.21 |
임베디드 시스템과 임베디드 (0) | 2008.09.15 |
Embedded에서 ARM의 의미 (0) | 2008.09.15 |
운영체제의 종류 (0) | 2008.09.15 |
cache 적중률 (1) | 2008.08.31 |
cache memory - 2 (0) | 2008.08.31 |
cache memory - 1 (0) | 2008.08.31 |
컴퓨터 시스템에서의 계산표현에 쓰이는 보수들 (0) | 2008.08.30 |
자료구조 - Tree (0) | 2008.08.30 |