profile
도전을 멈추지 않는 개발자
post-thumbnail

객체는 무엇을 기억하고, 무엇을 할 수 있을까? | UML 연산과 객체의 책임

앞에서 클래스를 공부하면서 속성(Attribute)을 배웠다.속성은 객체가 기억해야 하는 정보였다.예를 들어 학생 객체라면 다음과 같은 정보를 가질 수 있다.그런데 객체가 정보만 가지고 있어서는 프로그램에서 아무 일도 일어나지 않는다.학생은 수강 신청을 할 수도 있고,

어제
·
0개의 댓글
·
post-thumbnail

누가 시스템의 흐름을 결정하는가? | 데이터 중심 스타일과 이벤트 드리븐 아키텍처

데이터 중심 스타일은 공통적으로 똑같은데 중앙에 데이터 저장소가 있고 데이터를 공유해서 자기가 원하는 형태로 한다 ? 구조는 다음 두 부분으로 분해 데이터 저장소 , 데이터 액세서(독립적인 sw컴포넌트 또는 에이전트) 공유 저장소 스타일은 데이터 저장소는 수동적,

어제
·
0개의 댓글
·
post-thumbnail

입력이 커지면 알고리즘은 얼마나 느려질까? | 1-SUM부터 Tilde, Big-O, Big-Ω까지

챕터 4 1-sum 2-sum 알고리즘을 쓸때 tilde 노테이션을 사용한다 ? 학술적인 표현 방법은 아니지만 업계에서 많이 사용하는 용어이다 틸다 표기법이란 lower order term 들은 모두 제거하고 표현하는 것이다 빅 오 빅 세타 빅 오메가가 이렇게 있

4일 전
·
0개의 댓글
·
post-thumbnail

Queue는 왜 포인터가 두 개 필요할까? | Generics부터 기본 정렬과 Shellsort까지

컴퓨팅 문제와 알고리즘 3장에서는 Queue에서 시작해서 Generics, Iterator, Bag을 거쳐 정렬 알고리즘까지 다룬다.처음 보면 서로 크게 관련 없어 보이는 내용들이 한 장에 모여 있다.그런데 공부하면서 생각해보면 공통된 질문이 있다.데이터를 어떤 구조로

4일 전
·
0개의 댓글
·
post-thumbnail

`(int n) -> n + 9`는 도대체 무엇일까? | Runnable부터 Java 람다와 예외 처리까지

Java 문제를 풀다가 갑자기 이런 코드가 등장했다.처음 봤을 때 가장 먼저 든 생각은\->는 도대체 뭐지?였다.Java에서 메서드라면 보통 이렇게 생겼다.그런데 문제에서는 메서드 이름도 없이라고 적혀 있었다.더 복잡한 문제에서는 다음과 같은 코드까지 등장했다.처음에는

5일 전
·
0개의 댓글
·
post-thumbnail

`Parent obj = new Child()`인데 어떤 메서드가 실행될까? | 다형성, 오버라이딩과 오버로딩

Java 문제를 풀다가 다음과 같은 코드를 만났다.처음에는 이 코드부터 이상하게 느껴졌다.Child 객체를 만들 거면 그냥 이렇게 하면 되는 것 아닌가?그런데 굳이라고 작성한다.그리고 더 헷갈리는 것은 다음 코드였다.obj의 타입은 분명 Parent인데 출력은가 나온다

5일 전
·
0개의 댓글
·
post-thumbnail

자식 객체를 만드는데 왜 부모 생성자가 먼저 실행될까? | Java의 super()와 생성자 호출 순서

Java의 상속을 공부하다가 다음 코드를 보게 됐다.여기서 super(a)는 부모 클래스 A의 생성자를 호출한다.그런데 Java에서는 한 가지 규칙이 있다.생성자에서 super(...)를 직접 호출한다면 반드시 첫 번째 문장이어야 한다.처음에는 단순히 Java 문법이

5일 전
·
0개의 댓글
·
post-thumbnail

객체가 가진 정보는 어떻게 클래스로 표현할까? | 속성부터 클래스 다이어그램과 연관관계까지

객체지향 프로그래밍을 배우면서 class를 만들 때 자연스럽게 필드를 작성해왔다.코드를 작성할 때는 별생각 없이 학생에게 필요한 데이터니까 넣는다 정도로 생각했다.그런데 도메인 모델링에서는 한 단계 더 생각해야 한다.어떤 정보를 클래스의 속성으로 만들어야 할까?학생의

5일 전
·
0개의 댓글
·
post-thumbnail

컴퓨터는 0과 1을 어떻게 기억하고 계산할까? | 진법부터 논리회로, 플립플롭과 레지스터까지

Chapter 2. 논리회로 기초 > 이 장의 가장 큰 흐름은 다음과 같다. > > 수와 코드 → 논리 게이트 → Flip-Flop → Register → Bus → Register 간 데이터 전송 > > 처음에는 각각 별개의 내용처럼 보이지만, 결국 컴퓨터가 0과

5일 전
·
0개의 댓글
·
post-thumbnail

컴퓨터는 어떻게 프로그램을 실행할까? | 컴퓨터 구조부터 명령어와 폰 노이만 구조까지

컴퓨터 구조론 첫 수업을 들으면서 가장 먼저 든 생각은 단순했다.그래서 컴퓨터 구조에서는 대체 뭘 배우는 걸까?나는 지금까지 Java나 C++로 프로그램을 만들면서도 컴퓨터 내부에서 실제로 무슨 일이 일어나는지는 크게 신경 쓰지 않았다.예를 들어 C++에서라고 작성하면

2026년 9월 25일
·
0개의 댓글
·
post-thumbnail

프로그래밍 언어도 수학적으로 정의할 수 있을까? | 형식 언어부터 문법과 Chomsky 계층까지

지난 Chapter에서는 컴파일러가 소스 프로그램을 한 번에 기계어로 바꾸는 것이 아니라 여러 단계를 거쳐 번역한다는 것을 알아봤다.특히 앞부분에서는 다음과 같은 과정이 이루어진다.Scanner는 소스 프로그램을 읽으면서 Token을 찾아내고, Parser는 그렇게 만

2026년 9월 25일
·
0개의 댓글
·
post-thumbnail

클래스는 어떻게 찾아야 할까? | 후보 클래스 도출부터 부적절한 클래스 제거까지

객체지향 프로그래밍을 처음 배울 때 클래스는 그렇게 어렵지 않았다.객체가 가져야 할 데이터를 필드로 만들고, 필요한 기능을 메서드로 넣으면 됐다.그런데 실제 시스템을 객체지향적으로 설계하려고 하니 조금 다른 문제가 생겼다."그래서 무슨 클래스를 만들어야 하지?"코드를

2026년 9월 25일
·
0개의 댓글
·
post-thumbnail

HTTP 상태 코드는 왜 이렇게 많을까? | 2xx부터 리다이렉션, PRG와 4xx·5xx까지

상태 코드 1xx: 2xx 3xx 4xx 5xx : 서버 내부에 문제가 있는 것 만약 모르는 상태 코드가 나타나면 ? 2xx : 이런식으로 해석 1xx 거의 사용하지 않으므로 생략 2xx : 성공 200 ok 요청 성공 201 created location:

2026년 9월 25일
·
0개의 댓글
·
post-thumbnail

좋은 시스템이라는 말은 어떻게 검증할 수 있을까? | 품질속성부터 품질속성 시나리오까지

지난 Chapter에서는 소프트웨어 아키텍처가 무엇인지부터 시작해서 아키텍처 드라이버, 아키텍처 의사결정, 아키텍처 스타일과 트레이드오프까지 살펴봤다.그 과정에서 계속 등장했던 단어가 하나 있었다.품질속성(Quality Attribute)이다.처음에는 이 정도만 정하면

2026년 9월 22일
·
0개의 댓글
·
post-thumbnail

소프트웨어 아키텍처는 왜 필요할까? | 바벨탑부터 아키텍처 드라이버와 트레이드오프까지

이번 학기에 소프트웨어 아키텍처 수업을 듣기 시작했다.아키텍처라는 단어 자체는 개발하면서 정말 많이 들어봤다.Spring을 공부하면서도 계층형 구조를 접했고, 프로젝트를 설계하면서 서비스를 어떻게 나눌지 고민할 때도 아키텍처라는 말을 사용했다.그런데 막상"소프트웨어 아

2026년 9월 22일
·
0개의 댓글
·
post-thumbnail

클라이언트는 서버에 데이터를 어떻게 전달할까? | HTTP 데이터 전송부터 API 설계까지

HTTP 메서드 활용 클라이언트에서 서버로 데이터 전송 HTTP API 설계 예시 클라이언트에서 서버로 데이터 전송 데이터 전달 방식은 크게 2가지 쿼리 파라미터를 통한 데이터 전송 GET 주로 정렬 필터 (검색어) 메시지 바디를 통한 데이터 전송 POST ,

2026년 9월 18일
·
0개의 댓글
·
post-thumbnail

자료구조는 어떻게 API가 될까? | ADT부터 Stack과 Resizing Array까지

자료구조는 어떻게 API가 될까? | ADT부터 Stack과 Resizing Array까지 지난 시간에는 알고리즘을 왜 공부하는지부터 시작해서 문제 해결 방법과 재귀 호출까지 살펴봤다. 이번 시간에는 추상 데이터 타입(Abstract Data Type, ADT)에

2026년 9월 17일
·
0개의 댓글
·
post-thumbnail

HTTP API는 어떻게 설계해야 할까? | 리소스 식별부터 HTTP 메서드까지

API URL 설계 회원 목록 조회 . . . . PDf 파일에 있음 API URI 설계 . . . 이것이 좋은 URI 설계일까 가장 중요한 것은 리소스 식별 리소스의 의미는 뭘까 ? 회원을 등록하고 수정하고 조회하는게 리소스가 아니다 미네랄을 캐라 -> 미네

2026년 9월 14일
·
0개의 댓글
·
post-thumbnail

컴파일러는 소스 코드를 어떻게 번역할까? | 컴파일 단계부터 LEX와 Parser까지

컴파일러는 소스 코드를 어떻게 번역할까? | 컴파일 단계부터 LEX와 Parser까지 이번 학기에 컴파일러 수업을 듣고 있다. Java나 C를 사용하면서 컴파일이라는 단어는 정말 많이 봤다. 그런데 막상 컴파일러 내부에서 소스 코드가 어떤 순서로 처리되는지 설명해

2026년 9월 14일
·
0개의 댓글
·
post-thumbnail

달려보자 러닝 프로젝트 만들기 (1) - 러닝을 조금 더 재미있게 만들 수 없을까?

달려보자 러닝 프로젝트 만들기 (1) - 러닝을 조금 더 재미있게 만들 수 없을까? 러닝을 하다 보면 실제로 가장 어려운 순간은 달리는 중이 아닐 때가 있다. 운동화를 신고 밖으로 나가기 전이다. 한번 달리기 시작하면 정해둔 거리를 어떻게든 채우게 된다. 그런데

2026년 9월 13일
·
0개의 댓글
·