전체 글

· TIL
public class MultiplyOperation extends AbstractOperation{ double operate(int x, int y){ return x * y; }}1)  AddOperation(더하기), SubstractOperation(빼기), MultiplyOperation(곱하기), DivideOperation(나누기) 연산 클래스를 만든 후 클래스 간의 관계를 고려하여 Calculator 클래스와 관계를 맺습니다.관계를 맺은 후 필요하다면 Calculator 클래스의 내부 코드를 변경합니다.나머지 연산자(%) 기능은 제외합니다.Step 2 와 비교하여 어떠한 점이 개선되었는지 스스로 생각해 봅니다.hint. 클래스의 책임(단일..
· TIL
1. 다형성 (Polymorphism)하나의 객체(Object) 혹은 메서드가 여러가지 타입을 가질 수 있는 것을 말한다. 자바에서 다형성은 한 타입의 참조 변수를 통해 여러 타입 객체를 참조할 수 있도록 하는 것이다. class Phone{ void sendMessage() {} void sendCall() {}}class IPhone extends Phone { void siri() {} void useAppleStore() {}} Phone 클래스와 IPhone는 상속관계를 맺고 있다.Phone 클래스 : 메시지/전화 송신 IPhone 클래스 : 시리 실행, 애플스토어 실행 메소드  Phone ph = new Phone();IPhon..
· TIL
1. 객체 & 클래스 & 인스턴스현실 세계에서 자동차를 만들기 위해서는 설계도를 보고 자동차를 만든다.객체지향 프로그래밍에서도 설계도를 보고 자동차를 만든다.이 때, 객체지향 프로그래밍에서 설계도를 Class라고 한다.  클래스 (Class) : 객체를 만들어 내기 위한 틀객체가 가지는 공통적인 속성과 행동을 클래스에 정의객체 (Object) : 클래스의 모양 그대로 찍어낸 실체메모리 공간을 갖는 구체적인 실체개발자가 OOP에서 집중해야하는 부분은 객체를 "현실"과 "소프트웨어"의 중간지점을 바라보는 것인스턴스(Instance) : 객체를 실체화 시킨 것객체를 실체화 시킨것ex) 자동차객체 : 자동차라는 객체는 핸들, 타이어, 라이트 등이 있고 라이트가 켜지는 메소드..
· TIL
1. 얕은 복사 & 깊은 복사1) 얕은 복사// 얕은 복사int[] a = { 1, 2, 3, 4 };int[] b = a; b[0] = 3;System.out.println(a[0]);결과더보기 3얕은 복사는 주소값만 복사가 되어 변수명은 서로 달라도 같은 값을 공유하고 있다→ 얕은 복사를 한 변수가 변경이 되면 원래 변수 또한 변경이 된다.  2) 깊은 복사// 깊은 복사int[] a = { 1, 2, 3, 4 };int[] b = new int[a.length]; for (int i = 0; i  결과더보기1 깊은 복사는 '같은 값을 가지고 새로운 주소를 가진' 새로운 배열을 만든다.→ 깊은 복사를 한 배열을 변경한 경우 원래의 배열에는 ..
· TIL
프로세스와 스레드 프로세스 : 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램 ex) 카카오톡 스레드 : 어떤 프로세스 내에서 실행되는 흐름의 단위 ex ) 다운로드 운영체제가 프로그램에 메모리를 할당하여 실행하면 이를 프로세스라고 하는데 CPU의 프로세서는 하나의 프로세스만 구동할 수 있다. 운영체제는 하나의 CPU로 여러개의 프로세스를 구동하기 위해 '시분할 방식'을 사용한다. 반면 스레드는 프로세스 내에서 실행되는 흐름의 단위이므로 특정프로세스에 반드시 포함된다 = 하나의 프로세스는 하나 이상의 스레드를 갖는다. 프로세스 내에서도 처리흐름이 여러개가 될 수 있다. 회고 더보기 12시간중 많은 시간을 온전하게 집중하기는 어려워 차근차근 집중시간을 늘려가려고한다. 내일은 CS 동기화 파트를 공부할 ..
· CS 지식
1. CPU (Central Processing Unit) CPU는 컴퓨터의 두뇌라고 말할 수 있다. 메모리에 저장된 값을 읽어서 해석하고 실행하는 장치이다. CPU는 작업을 빠르게 연산하고 작동하는데 기능이 집중되어 있다. 또 CPU는 계산기라고도 얘기할 수 있다. 1) CPU의 구조 내부 모듈에는 산술/논리 연상 장치(ALU), 제어 장치, 레지스터가 있고 이들을 내부 버스로 연결한다. (1) 레지스터 CPU 내부의 작은 임시 저장 장치이다. 프로그램을 실행하는데 필요한 값들을 임시로 저장한다. CPU안에는 여러 개의 레지스터가 존재하고 각기 다른 이름과 역할을 가지고 있다. (2) ALU 쉽게 말해 계산기, 계산만을 위해 존재하는 부품 컴퓨터 내부에서 수행되는 대부분의 계산을 도맡아서 수행 (3) ..
· CS 지식
1. Git vs Github Git은 버전 관리 시스템, Github은 Git으로 관리하는 프로젝트를 올려놓을 수 있는 사이트 1) Git - 소스 코드 버전 사이를 오가는 시간 여행 이상의 기능을 제공 - 데이터를 저장할 공간만 있다면 어디서나 사용 가능 2) Github - 소스 코드를 올려 두면 시간, 공간의 제약없이 협업 가능 - 내 작업물을 다른 사람과 공유할 수 있고, 반대로 다른 사람의 작업물을 받아와서 작업 가능 2. Github 기본 용어 정리 1) Local/Remote - Local : 우리가 사용하고 있는 컴퓨터 - Remote : 원격 저장소 2) Repository(repo, 저장소) - 프로젝트가 존재하는 저장 공간 3) Branch - Repo의 공간에서 독립적으로 어떤 작..
AWS에서는 관리형 서비스인 RDS(Relational Database System)을 제공한다. 클라우드 기반 관계형 데이터베이스로 하드웨어 프로비저닝, 데이터베이스 설정, 패치 및 백업과 같은 잦은 운영 작업을 자동화하여 개발자가 개발에 집중할 수 있게 지원하는 서비스이다. 또 추가로 조정가능한 용량을 지원하여 예상치 못한 양의 데이터가 쌓여도 비용만 추가로 지불하면 정상적인 실행이 가능하다. 1. RDS 인스턴스 실행 검색창 RDS 입력 > 대시보드에서 [데이터베이스 생성] MariaDB를 고른 이유는 가격과 Amazon Aurora 교체 용이성이 있기 때문이다. 첫번째, RDS의 가격은 라이센스 비용 영향을 받는다. 상용 데이터베이스인 오라클, MSSQL이 오픈소스인 MySQL, MariaDB, ..
빨간망토감자도리
말하는 감자