내일배움캠프(Spring 7기)/특강 8

Java 객체 간의 결합도 세션

일시 : 05/02(월) 11:00장소 : zoom진행 : 김기용 튜터님0. OCP(Open-Close-Principle)확장에는 열려 있고 변경에는 닫혀 있어야한다는 설계원칙(solid 중 하나)1. 객체 간의 결합도한 객체가 다른 객체와 상호작용할 때 얼마나 강하게 의존하고 있는지를 나타내는 정도 강한 결합한 객체가 다른 객체의 구현에 깊게 의존한 객체가 변경되면 다른 객체도 영향을 받음 → 변경에 취약class Engine { void start() { System.out.println("Engine started"); }}class Car { Engine engine = new Engine(); // 직접 생성 (강한 결합) void drive() { ..

Java 동등성 / 동일성 세션

일시 : 04/28(월) 14:00장소 : zoom진행 : 김기용 튜터님1. 기본형 변수와 참조형 변수(전체 구조)public class Main { public static void main(String[] args) { CoffeeShop coffeeShop = new CoffeeShop("myCoffeeShop"); Coffee coffeeA = coffeeShop.makeCoffee("hotCoffee", false); Coffee coffeeB = coffeeShop.makeCoffee("hotCoffee", false); Coffee coffeeC = coffeeShop.makeCoffee("iceCoffee", true); ..

학습(협업) 가이드 세션

일시 : 04/25(금) 14:00장소 : zoom진행 : 홍태호 튜터님상대방과 대화 시 가져야할 태도 기본적인 대화상대방의 이야기를 끝까지 듣기말하기가 아닌 대화를 하라.다짜고짜 말을 쏟아내지 않기말하기전에 한번 더 생각하기내가 하려는 말이 상대방이 느끼기에 무시하는것처럼 들리는지 생각하기상대방의 의도를 지레짐작하지 않기 협업할 때남탓 금지화자: 제가 이해하기 어렵게 말을 했나봐요. 다시 말씀드리면 ~상대방: 말씀하신걸 제가 이해를 못해서, 죄송하지만 다시 한번 말씀해주시겠어요.내가 말하려고 하는 내용을 명확하게 전달목적과 결론을 먼저 이야기애매한 표현 대신 구체적이고 필요한 정보를 빠짐없이 제공예시를 사용하여 이해하기 쉽게 설명짧고 간결하게 핵심을 말하기잘 질문하기질문의 사전배경 설명 (맥락을 충분히..

Java 객체 활용 첫걸음(실습) 세션

일시 : 4/21(월) 14:00진행 : 김기용 튜터님장소 : zoom📙 목차 캡슐화정보 은닉접근 제어자게터 / 세터객체 설계 체크리스트실습1. 캡슐화 내부 정보를 외부로 부터 보호하는 것 2. 정보 은닉캡슐화와 추상화는 정보은닉을 하기 위한 수단이다캡슐화: 접근제어자를 활용해 내부 데이터에 직접 접근하지 못하게 하고 메서드를 통해서만 제어하게 한다.추상화: 불필요한 구체적인 구현을 숨겨 사용하기 편하게 합니다. (인터페이스, 상속) 정보를 은닉시켜야 하는 이유정보를 숨기지 않으면 외부에서 객체 내부를 직접 조작하거나 의도하지 않는 방식으로 사용될 수 있다.정보에 대한 과도한 자유는 오히려 객체를 사용하는 입장에서 혼란을 줄 수 있다.3. 접근 제어자접근제어자를 통해 객체의 캡슐화를 할 수 있다.접근..

Java 프로그래밍 기초 세션

일시 : 4/16(수) 14:00진행 : 김기용 튜터님장소 : zoom📙 목차프로그래밍 언어 - 자바변수: 데이터 저장 공간클래스와 객체 입출력 기능1. 프로그래밍 언어 - 자바자바는 모든 것이 클래스파일 단위: 클래스모든 코드는 클래스 안에 작성된다. 자바 프로그램 실행 과정 컴파일 - 컴파일을 통해 바이트코드를 만들기javac Main.java 실행 - 생성된 바이트 코드를 실행하기java Main2. 변수: 데이터 저장 공간변수 구조자료형: 저장할 데이터의 범위변수이름: 저장할 공간의 이름[자료형] [변수이름];int a;a = 1;3. 클래스와 객체용어 정리용어설명클래스(Class)객체를 만들기 위한 설계도객체(Object)클래스를 바탕으로 만들어진 실제 존재인스턴스(Instance)어떤 클래스..

GIT 심화 특강

일시 : 04/14(월) 19:30장소 : zoom진행 : 류제천 튜터님GIT 심화 특강 - Git & Github으로 협업하는 법브랜치 활용하기Pull Request 활용하기협업 실전 가이드1. 브랜치 활용하기복사본 === 브랜치 브랜치 생성 명령어git branch [브랜치명] 브랜치 확인 명령어git branch 브랜치 이동 명령어git switch [브랜치명]혹은git checkout [브랜치명] 브랜치 생성 & 이동git switch -c [브랜치명]혹은git checkout -b [브랜치명] 브랜치 삭제 명령어git branch -d [브랜치명]혹은git branch --delete [브랜치명] login 브랜치에서 수정, 커밋 후main으로 넘어가면 코드가 남아 있을까 ? 각각의 상..

TIL 작성 가이드

일시 : 4/14(월) 14:00진행 : 김기용 튜터님장소 : zoom📝 TIL 작성 가이드TIL(today I learn) 이란?개발 커뮤니티에서의 TILTIL 5가지 유형 정리TIL 잘쓰는 법 2가지TIL 을 100% 활용하는 방법TIL 작성을 시작해보세요1. TIL(today I learn) 이란? TIL 은 "Today I learned" - "오늘 내가 배운것"의 줄임말로,최근에 알게 된 흥미로운 사실을 공유하는 인터넷 문화에서 비롯되었다.2. 개발 커뮤니티에서의 TIL서로의 TIL을 통해새로운 개념을 배운다.본인의 코드에서 놓쳤던 부분을 발견한다.피드백을 주고 받는다. 개발 블로그 종류 (velog, tistory 등)https://velopert.com/https://pjh3749.tist..

GIT 기초 특강

일시 : 04/07(월) 14:00장소 : zoom진행 : 류제천 튜터님GIT 기초 특강필수 리눅스 명령어Git & Github의 개념Git 필수 명령어Github 으로 코드 백업하기Github 협업 기초와 충돌 해결법 (conflict)1. 필수 리눅스 명령어pwd (print working directory)현재 내가 작업하는 폴더를 보여달라는 뜻 * 참고: ~는 home 경로이며, 바탕화면을 의미하는 Desktop 폴더의 상위 경로이다. ls (list)현재 폴더 안에 있는 폴더 & 파일 내열을 보여준다. ls -a (list all)숨겨진 파일(보통 .으로 시작함)도 모두 볼 수 있다. cd 폴더명 (change directory)ls 명령어에서 확인된 폴더로 이동 가능 * 상대 경로: ...