코딩

1) 언어

1-1) 저급 언어

- 기계어나 어셈블리 언어를 의미

- 기계의 특성에 의존하며, 추상화 수준이 낮고, 프로그램 작성과 이해가 어려움

- 거의 사용하지 않음

 

1-2) 고급 언어

- Fortran, C, Pascal 등의 언어를 의미

- 높은 수준의 추상화를 제공, 이해가 용이한 명령어 사용, 상이한 기계에서 별 수정 없이 실행 가능

- 컴퓨터 시스템은 고급언어를 직접 실행 불가능 -> 기계어로 번역하는 과정이 필요

 

2) 객체 지향형 언어

  • 객체에 기반을 둔 언어
  • 연관된 모든 연산(method)와 데이터 구조가 객체에 포함되어 정의
  • 기본 개념 : 클래스, 계층화, 상속, 다형성
  • 객체내의 데이터와 연산이 캡슐화되며, 객체간의 계층이 정의 (상속)
  • 프로그램의 수행은 객체들 간의 메시지 교환에 의해 이루어짐
  • C++, Smalltalk, Java

 

3) 자바

3-1) 정의

  • 자바 소스코드는 컴파일을 통해 바이트 코드로 번역됨
  •  바이트 코드를 실행시키면 바이트 코드 해석기(interpreter)에 의해 기계어 코드가 만들어지면서 이 기계어 코드가 실행됨

3-2) 특징

- 구조중립적(architecture neutral)

- 이식성(portable)이 높음

- 견고함(Robust) – 프로그램 오작동하거나 죽을 가능성 낮음

3-3) 자바가 웹 환경에서 강한 이유

- 자바의 바이트코드가 서버에서 클라이언트로 다운로드되어 실행

- 하나의 바이트코드가 여러 기종의 클라이언트에서 실행

- 웹의 클라이언트/서버 구조 쉽게 적응

 

 

4) 코딩원칙

- 광역변수를 사용하지 않는다.

- 하향식으로 읽을 수 있도록 작성한다.

- 부작용을 제거한다.

- 의미 있는 명칭을 사용한다.

- 사람을 위한 프로그램을 작성한다.

- 최적의 자료구조를 사용한다.

- 빨리 하기 보다는 올바르게 한다.

 

5) DLL 정의

- DLL(동적 연결 라이브러리)은 여러 함수의 공유 라이브러리로 사용되는 실행 파일

- 동적 링크를 사용하여 프로세스에서 해당 프로세스의 실행 코드에 포함되지 않은 함수를 호출

- 여러 개의 응용 프로그램이 메모리에 있는 하나의 DLL 복사본 내용을 동시에 액세스

댓글