초보 개발자를 위한 용어사전
Glossary for junior developer And Honestly FOR ME
시작하면서
개발 공부를 하다가 모르는 용어를 마주하면 나의 GPT가 아주 쉽고 간단하게 답변해준다.
어느 누군가는 GPT로 어플리케이션도 만드는 등 창출해낼 수 있는 가치가 많다고 하는데,, GPT에 너무 의존하게 되면 스스로의 능력을 키우는데 어려움이 있다고 생각이 들었다.
이 블로그를 작성하게된 계기도 같은 이유에서 작성하게 된 것이다.
스스로 공부하고 기록하고 다시 복기를 위해 내가 작성한 글에서 찾아보는 습관으로 스스로 능력을 키울 수 있도록 하려고 한다.
이 용어사전도 마찬가지로 공부한 것을 정리하고 기록하기 위함이며, 모르는 용어가 생길 때마다 지속적으로 업데이트 하려 한다.
용어사전(A to Z)
C
Collection
여러 개의 데이터를 하나로 묶어서 관리할 수 있는 자료구조를 말한다. 프로그래밍에서 컬렉션은 데이터를 저장, 검색, 추가, 삭제 등의 작업을 효율적으로 수행할 수 있도록 도와주는 자료구조이다.
사용 예시
- List: 순서가 있는 데이터들의 집합.
- Set: 중복을 허용하지 않는 데이터들의 집합.
- Map: 키-값 쌍(key-value pair)으로 데이터를 저장.
컬렉션의 역할
- 데이터를 그룹으로 다루고 싶을 때 사용
- 학생등의 이름 목록, 제품 리스트, 점수 집합 등을 컬렉션으로 저장하고 관리할 수 있음.
컬렉션과 엔티티의 관계: 컬렉션은 여러개의 엔티티를 묶어서 관리할 때 유용하게 사용됨.
D
Data Stream
데이터 스트림(data stream)이란, 일정 순서로 연속적인 데이터를 전송하는 방식을 의미한다. 컴퓨터 시스템은 일반적으로 스트림(stream) 형태로 이동하며, 프로그램은 이 스트림을 통해 데이터를 읽거나 쓸 수 있다.
데이터 스트림은 입력 스트림(input stream)과 출력 스트림(output stream)으로 나뉜다.
- 입력 스트림: 데이터를 어딘가에서 읽어오는 스트림
- 예시: 키보드 입력, 파일 읽기, 네트워크 수신
- 출력 스트림: 데이터를 어딘가로 내보내는 스트림
- 예시: 화면 출력, 파일 저장, 네트워크 송신
이러한 데이터 스트림은 파일, 네트워크, 메모리, 표준 I/O 장치 등에서 데이터를 다룰 때 사용하는 개념이다.
E
Entity
어떤 것을 나타내는 객체로 데이터베이스나 객체지향 프로그래밍에서 자주 쓰이는 개념이다. 주로, 하나의 객체가 실제 세계의 개체(사람, 제품, 주문 등)를 나타낼 때 엔티티라고 부른다.
엔티티의 특징
- 고유 식별자를 가짐.
- 데이터베이스에서는 기본 키(primary key)를 사용하여 각 엔티티를 식별한다.
- 예시) 학생 엔티티는 학생 ID로 고유하게 식별함.
- 속성을 가짐.
- 엔티티는 특징을 나타내는 여러 속성을 가질 수 있음.
- 예시) 학생 엔티티는 이름, 나이, 학번 등의 속성을 가질 수 있음.
- 행위를 가질 수 있음.
- 엔티티는 동작(메서드)을 가질 수도 있음.
- 예시) 학생 엔티티가 출석을 기록하거나 시험 점수를 계산하는 기능을 포함함.
I
Interface
인터페이스(interface)는 클래스나 객체가 구현해야 하는 행동(메서드)와 속성(프로퍼티)를 미리 정의한 틀을 제공한다. Kotlin에서 인터페이스는 클래스 처럼 기능을 정의하지만, 직접 구현은 하지 않고 선언만 한다.
M
Modifier
수정자(modifier)는 클래스, 메서드, 변수, 프로퍼티 등에 추가적인 동작이나 제약 조건을 부여하기 위해 사용되는 키워드이다.
Kotlin에서의 수정자의 역할
- 접근 제어
- 클래스, 메서드, 변수 등이 어디서 접근 가능한지를 결정
- 예)
public
,private
,protected
- 동작 제어
- 메서드나 변수의 특정 동작을 지정.
- 예)
abstract
,final
,open
- 메모리 및 동시성 제어
- 변수가 스레드 간에 공유되거나 메모리에서 특정 방식으로 동작하도록 제어.
- 예)
synchronized
,volatile
- 특정 속성 부여
- 특정 변수나 클래스가 읽기 전용, 상수, 또는 특정 기능을 갖도록 설정.
- 예)
const
,lateinit
P
Property
- 기본 개념
- 클래스는 객체(object)를 만들기 위한 “설계도”이다.
- 프로퍼티는 그 클래스가 가진 특징이나 상태를 의미한다.
- 예시
1 2 3 4
class Person { var name: String = "MyName" // "이름"이라는 특징을 저장하는 프로퍼티 var age: Int = 20 // "나이"라는 특징을 저장하는 프로퍼티 }
- 구성
- 필드(field): 데이터 및 값을 저장하는 공간.
- Getter와 Setter: 데이터를 가져오고(get) 설정하는(set)하는 방법.
- 프로퍼티의 읽기와 쓰기는 일반적으로 게터(getter)와 (setter) 메소드의 호출으로 변환된다.
- 사용 예시 ```kotlin class Person { var name: String = “” // 프로퍼티 (기본 getter와 setter가 자동으로 생성됨.) }
fun main() { val person = Person() person.name = “Gumraze” // Setter를 사용해 값을 설정함. println(person.name) // Getter를 사용해 값을 가져오기. } ```
S
Snippet
- 프로그래밍에서 자주 사용되는 코드 조각이나 짧은 텍스트를 의미한다.
- 일반적으로 개발자들이 반복적으로 사용하는 코드 패턴이나 명령어를 더 빠르고 효율적으로 작성할 수 있도록 미리 준비된 형태로 제공된다.
- 주요 특징
- 짧고 간결함.
- 재사용 가능함.
- IDE를 통한 자동 완성.
- 템플릿 기반.
Standard Input Stream: 표준 입력 스트림
표준 입력 스트림이란 외부로부터 데이터를 입력 받을 수 있도록 제공되는 기본 데이터 흐름이다. 데이터를 입력 받는 가장 기본적인 방법 중 하나는 표준 입력 스트림(흔히 stdin이라고 줄여 사용)을 사용하는 것이다. 따라서, 표준 입력 스트림은 운영체제에서 제공하며, 프로그램이 외부 환경으로부터 데이터를 읽을 수 있는 경로를 제공한다.
프로그래밍 언어에서도 표준 입력 스트림을 통해 데이터를 요청할 수 있다.
- Kotlin/Java
- 표준 입력 스트림은 System.in 객체로 표현됨.
- 이를 사용하기 위해 Scanner 또는 readLine() 등의 메서드를 사용해야한다.
1
val input = readln()
- Python
- Python에서는 input() 함수를 사용함.
1 2
data = input("Enter something: ") print(f"You entered: {data}")
- Python에서는 input() 함수를 사용함.
T
Type inference
프로그래밍 언어에서 변수나 표현식의 타입(자료형)을 명시적으로 지정하지 않아도, 컴파일러가 코드의 문맥을 분석하여 해당 타입을 자동으로 결정하는 기능이다.