기록물 저장소/활동

[SW 마에스트로] 면접 대비 기본 용어 정리

모영이 2021. 3. 24. 23:11

우선 저는 컴퓨터 과학을 배운적이 없고, 개발은 조금 해봤어도, 이론은 한번도 제대로 공부한 적이 없기 때문에 여기다가 기본 용어를 간략하게 짚고 넘어가겠습니다. 한 줄 안으로 끝내겠습니다. 출처가 없는 것은 위키백과가 출처입니다.

다형성 설명1

필드 설명1

메소드 설명1

바인딩 설명1

 

런타임(runtime) : 컴퓨터 프로그램이 실행되고 있는 동안의 동작.

런타임 환경(runtime environment) : 실행되는 동안 프로세스나 프로그램을 위한 SW 서비스를 제공하는 VM의 상태.

안드로이드 런타임(ART) : 안드로이드 OS아래 만들어진 런타임 환경의 VM이다.

달빅 가상 머신(DVM) : 댄 본스타인이 구현한 레지스터 머신형태의 가상 머신.

 

어셈블리어(assembly language) : 기계어. 컴퓨터 프로그래밍의 저급 언어.

바이트코드(Bytecode) : 특정 하드웨어가 아닌 가상 컴퓨터에서 돌아가는 실행 프로그램을 위한 이진 표현법.

 

컴파일(compile) : 소스코드를 목적코드로 옮기는 과정을 말함.

인터프리터(interpreter) : 소스코드를 바로 실행하는 컴퓨터 프로그램, 환경을 말함.

다형성(polymorphism) : 여러 모양, 자바에서 한가지 형태로 여러가지 기능을 수행할 수 있는 것을 뜻함.

 

클래스(class) : 변수와 메소드를 정의하는 틀.

인스턴스(instance) : 해당 클래스의 구조로 메모리에 할당된 실체.

필드(field) : 클래스 안에서 독립적으로 선언되는 변수.

메소드(method) : 클래스 내부에 정의된 함수.

 

바인딩(binding) : 구체적인 값을 할당하는 과정.

정적 바인딩(static binding) : 컴파일 시간에 일어나며, 실행 중 변하지 않고 유지됨.

동적 바인딩(dynamic binding) : 실행 시간 중에 일어나며, 프로그램 실행 도중 변경 가능. Python

 

인터페이스(interface) : 클래스들이 구현해야하는 동작을 지정하는데 사용되는 추상 자료형.

추상 자료형(ADT) : 자료들과 그 자료들에 대한 연산들을 명기한 것.

상속(Inheritance) : 상위 클래스의 모든 멤버를 하위 클래스가 물려 받는 것.

 

디자인 패턴() : 설계시 반복적으로 나타나는 설계 방법. 명확성, 단순성, 세분성, 재사용성, 유지보수성.

 

AOP : 공통관심 요소를 단일 기능으로 뽑아내서 중복을 줄이고 관리의 효율을 높임.

 

툴체인(tool chain) : 주로 다른 컴퓨터, 시스템의 SW 제품을 만드는 데 사용되는 컴퓨터 프로그램 개발 도구 집합.