All Pages
4.2 의존성 문제
4.2 의존성 문제
2025.09.30Depend upon abstractions, not concretions- 상세한 구현에 의존하지 말고, 공통된 개념(추상화)에 의존해라. - "The Dependency Inversion Principle” (Robert C. Martin, C++ Report, 1996) 1. 학습 목표: 의존성 이해와 의존성 문제 파악을 위한 단계별 학습 순서더보기Step 1. Dependency, 의존성이라는 용어와 개념 이해의존(≒ 의지, 종속, 객체 생성 책임)에 대한 개념 이미지를 머리속에 그리기예) 간단한 상속 관계를 기반으로 "의존" 이라는 단어의 개념을 이해하기Step 2.객체 지향 프로그래밍(OOP)의 의존된 구조에서"의존성" 개념을 소스 코드로 이해하기Step 3.의존된 구조의 문제 파악하기 S..
4.1 추상화
4.1 추상화
2025.09.301. "추상": 단어의 의미더보기A. 목표프로그래밍에서의 "추상화" 개념을 배우기 전에, 일상생활에서 사용되는 "추상"이라는 단어의 의미를 먼저 이해합니다. 일상 속 예시와 미술에서의 추상을 살펴보며, "추상"의 뜻과 "구체"의 대비를 명확히 알아봅니다. B. 예시 1) 추상 ↔ 구체“네 말은 너무 추상적이야”라는 표현이 있습니다. 이는, 내용이 너무 막연하고 실체가 없다는 뜻입니다.이와 반대로 “구체적”이라는 말은, 실제 사례, 수치, 경험 등을 들어 명확하게 설명하는 경우를 의미합니다. 2) 미술에는 추상화 라는 기법이 있습니다.현실 세계의 사물을 그대로 재현하지 않고 형태, 색, 선, 질감을 단순화하거나 변형하여 감정, 개념을 표현하는 기법입니다.반대로, 현실을 실제처럼 묘사하는 화풍은 “사실..
3. 프로퍼티
3. 프로퍼티
2025.09.301. 참고자료더보기A. 영상 링크 https://youtu.be/zgeCwYWzK-k?si=rJFngC_y71cOcVSm[C# 기초 강의] Ch 09. 프로퍼티 B. 용어 체크리스트 맴버필드: 프로퍼티의 실제 값프로퍼티: 객체의 상태 값 캡슐화, 접근제어자,어트리뷰트,유효성 C. 프로퍼티 생성 단축키 자동 구현 프로퍼티 (Auto-Implemented Property)"prop" + Tab + Tab프로퍼티 + private 필드 같이 생성"propfull" + Tab + Tab 2. Member(멤버) vs Field(필드) vs Property(전통적 프로퍼티) vs Property(자동완성 프로퍼티)더보기A. Member(멤버) C/C++ 로 프로그래밍을 입문하는 경우C# Class 내부의 변수..
3. OOP 등장배경과 접근제어자
3. OOP 등장배경과 접근제어자
2025.09.301. 목표→ OOP는 왜 등장했을까?더보기A. 목표 문제점 파악: 기존의 절차 지향 프로그래밍(POP)의 한계와 문제점을 파악해결책 이해: 객체 지향 프로그래밍(OOP)의 문제 해결 방법 이해 B. 용어 캡슐화(Encapsulation) - OOP의 주요 특성접근 제어자(Access Modifier) - C# 프로그래밍 문법 C. 참고 자료https://youtu.be/zgeCwYWzK-k?si=rJFngC_y71cOcVSm 2. - 절차지향 문제점→ 시나리오 2개더보기A. 어느 함수에서나 접근 가능한 공유 데이터 문제#include int score = 100; // 전역 변수 사용 → 모든 함수가 직접 접근 가능함 (절차지향의 문제점 1: 전역 변수 남용)void addBonus() { sco..
2. 학습 방향
2. 학습 방향
2025.09.301. 기본 접근 관점더보기프로그래밍 언어의 기초 문법(자료형, 연산자, 제어문, 함수, 예외 처리 등)은 대부분 순차적으로 학습할 수 있습니다. 그러나 이 단계를 지나 객체지향, 추상화, SOLID 원칙, 이벤트/대리자, 디자인 패턴과 같은 개념으로 넘어가면, 학습은 단순한 순서 학습이 아닌 상호 유기적·순환적 학습(Spiral Learning)이 필요합니다. 객체지향 개념은 독립적으로 존재하지 않고,추상화 → 캡슐화 → 다형성 → 상속/인터페이스 → SOLID 원칙 → 디자인 패턴 → 아치텍처 패턴 등이 서로 연결되어 있습니다. 따라서 한 번의 설명으로 끝나는 것이 아니라, 전체를 아우르는 지식을 먼저 접하고 다시 반복 복습하면서 점차 깊이 이해해야 합니다 2. OOP 등장배경 - 접근제어자, 프로..
04.5 GitHub 에서 가져오기
04.5 GitHub 에서 가져오기
2025.09.021. GitHub 에서 가져오는 방법들: 원격 저장소에 등록된 작업물을 로컬 저장소로 복사하는 작업더보기로컬(Local) 작업물을 원격(Remote) 저장소로 업로드 할 수 있다면,반대로 원격(Remote) 저장소의 작업물을 로컬(Local)로 내려받을 수도 있습니다. 내려받는 방법은, push / fetch 이외에 Clone 등이 있습니다.clone: 프로젝트 처음 내려받기 (원격 → 로컬 전체 복제)pull: 원격 변경사항 가져와 병합 (내 코드에도 반영됨)fetch: 원격 변경사항 정보만 갱신 (내 코드에는 적용 X) 가장 간편한 clone 을 기준으로 GitHub에서 내려받기를 이해해봅시다.(pull, fetch는 branch를 이해한 뒤 진행합니다.) 2. GitHub 에서 가져오는 방법: g..
04.4 GitHub에 내보내기
04.4 GitHub에 내보내기
2025.09.021. GitHub 에 내보내기: git push더보기 ① 원격 저장소를 등록합니다.git remote add origin git@github.com:basiclike/GitHub_Test.git ② 등록된 원격 저장소를 확인합니다.git remote ③ 원격 저장소로 푸시(업로드)합니다.git push -u origin maingit # Git CLI 실행 push # 로컬의 커밋/브랜치를 원격 저장소로 전송 -u # --set-upstream: 로컬 'main'의 추적 브랜치를 'origin/main'으로 설정 origin # 원격 저장소 식별자(URL은 `git..
04.3 GitHub HTTPS 사용 방법
04.3 GitHub HTTPS 사용 방법
2025.09.021. GitHub Push 권한 문제: 깃허브는 HTTPS 비밀번호 인증이 중단되었다.더보기 GitHub 저장소로 push 시 사용자 인증이 필요합니다.HTTPS + 토큰(PAT, Personal Access Token ) 사용SSH 방식으로 전환(토큰 입력 없이 편리)2021년 이후 GitHub는 "HTTPS + 계정 비밀번호" 인증은 중단되었습니다. HTTPS 방법1.Ubuntu 터미널에서 HTTPS push를 사용하려면Git Credential Manager 설치, credential.helper 설정, GitHub PAT 발급 후최초 push 때 입력해야 합니다. HTTPS 방법2. 그 외에 VS Code와 같은 프로래밍 개발 툴은 내장된 GitHub 로그인(OAuth) + Crede..
[A] <Deb> Git 설치
[A] <Deb> Git 설치
2025.08.281. Git 설치# 1. Git 공식 팀이 관리하는 최신 PPA 저장소 추가sudo add-apt-repository -y ppa:git-core/ppa# 2. 패키지 목록 업데이트sudo apt update# 3. 최신 Git 설치sudo apt install -y git 2. Git 설치 확인# 4. 정상 설치를 확인하려면, Git 버전을 출력합니다.git --version
3.4 .gitignore
3.4 .gitignore
2025.08.271. git 관리에서 특정 파일/폴더를 제외 하는 방법 ① .gitignore 파일을 생성합니다.② 제외시킬 파일/폴더명을 입력합니다.③ 제외된 파일/폴더는 변경사항이 있더라도, git 에 반영되지 않습니다. 2. 제외 패턴 공식 문서 Git - gitignore 문서 (git-scm.com) 를 참고하여 학습합니다. # 이렇게 #를 사용해서 주석# 모든 file.cfile.c# 최상위 폴더의 file.c/file.c# 모든 .c 확장자 파일*.c# .c 확장자지만 무시하지 않을 파일!not_ignore_this.c# logs란 이름의 파일 또는 폴더와 그 내용들logs# logs란 이름의 폴더와 그 내용들logs/# logs 폴더 바로 안의 debug.log와 .c 파일들logs/debug.logl..
04.2 GitHub SSH 사용 방법
04.2 GitHub SSH 사용 방법
2025.08.271. GitHub Push 권한 문제: 깃허브는 HTTPS 비밀번호 인증이 중단되었다.더보기 GitHub 저장소로 push 시 사용자 인증이 필요합니다.HTTPS + 토큰(PAT, Personal Access Token ) 사용SSH 방식으로 전환(토큰 입력 없이 편리)2021년 이후 GitHub는 "HTTPS + 계정 비밀번호" 인증은 중단되었습니다.일반적인 인증 방식인, SSH 사용 방식을 알아봅시다. 2. SSH 키🔑 생성:GitHub 연동과 인증을 위한더보기ssh-keygen -t ed25519 -C "코멘트. your_email@example.com"ssh-keygen # OpenSSH 키 생성기(공개/개인키 쌍 생성) -t ..
04.1 GitHub 원격 저장소 생성하는 방법
04.1 GitHub 원격 저장소 생성하는 방법
2025.08.271. GitHub 원격 저장소 생성더보기❶ GitHub 로그인 후 오른쪽 상단의 세 줄(☰) 메뉴 아이콘을 클릭합니다. ❷ Home 🏠 클릭합니다. ❸ 우측 상단에 [+] 기호를 클릭하고, ❹ New repository (새 저장소)를 선택합니다. ❶ Repository Name, 새 원격 저장소를 식별할 이름을 입력하고 ❷ 새 원격 저장소에 대한 간단한 설명을 입력합니다.❼ [Create repository] 를 클릭합니다. 2. Git 에 GitHub 의 원격 저장소 등록, 제거더보기echo "# GitHub_Test" >> README.mdgit initgit add README.mdgit commit -m "first commit"git branch -M maingit remot..