전체 글38 [데브코스] 계산기 과제를 마치며 1. GitHub 저장소 과제 Repository 과제 Pull Request 2. 구현 기능 목록 입력 메뉴 1,2,3만 가능 계산식 공백을 기준으로 구분하기 정규표현식 출력 계산 결과 출력 DecimalFormat 계산 이력 출력 인메모리 DB 기능 "계산식 = 결과값" 형식 계산기 로직 더하기 빼기 곱하기 나누기 0으로 나눌 시 에러 우선순위 후위표기식 3. 구현하며 배우고 느낀 점 이번 과제의 목적이 OOP, TDD로 만들기다 보니 이 둘을 항상 생각하고 집중하며 진행했던 것 같다. 또한, 이전 스터디에서 배운 것들도 모두 녹여내면서 구현하도록 노력하였다. OOP 사실 이번 과제는 OOP적으로 완벽하게 수행했다고는 어려울 것 같다. 아직 OOP를 많이 경험해보지 못하기도 했고 익숙하지 않기 때문에.. 2022. 4. 3. 6주차 - 상속 목표 자바의 상속에 대해 학습하세요. 학습할 것 (필수) 자바 상속의 특징 super 키워드 메소드 오버라이딩 다이나믹 메소드 디스패치 (Dynamic Method Dispatch) 추상 클래스 final 키워드 Object 클래스 자바 상속의 특징 상속의 정의와 장점 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것 상속을 통해서 클래스를 작성하면 적은 양의 코드로 새로운 클래스를 작성할 수 있고 코드를 공통적으로 관리할 수 있기 때문에 코드의 추가 및 변경이 매우 용이하다. 이러한 특징은 코드의 재사용성을 높이고 코드의 중복을 제거하여 프로그램의 생산성과 유지보수에 크게 기여된다. 자바에서의 상속은 extends 키워드를 통해 구현할 수 있다. class Parent {} class Child .. 2022. 3. 31. Object 클래스 Object 클래스 자바의 최상위 클래스 Object클래스는 모든 클래스의 최고 조상이기 때문에 Oject클래스의 멤버들은 모든 클래스에서 바로 사용 가능하다. Object클래스의 멤버 Object클래스는 멤버변수는 없고 오직 11개의 메서드만 가지고 있다. 이 메서드들은 모든 인스턴스가 가져야 할 기본적인 것들이다. equals(Object obj) ==연산 결과 반환 ( 주소 값 비교 ) Overriding 목적 : 물리적으로 다른 메모리에 위치하는 객체여도 논리적으로 동일함을 구현하기 위해 public class Number { private final int value; public Number(int value) { this.value = value; } public static void mai.. 2022. 3. 31. Git 정리 분산 버전 관리 시스템 버전 관리란 게임에서의 세이브포인트 같은 느낌이다. 버전 관리 없이 개발한다는 것은 세이브 없이 게임을 하는 것과 마찬가지일 것이다. 만약 두 명의 개발자가 하나의 서비스를 만드는 데 버전 관리가 없다면 이메일로 보내서 합친다거나 백업본을 만들어둬야 한다 거나 매우 귀찮게 될 것이다. 버전 관리 시스템 : Git 개발을 할 때 원하는 시점마다 깃발을 꽂고(버전을 만들고) 이들 간에 자유롭게 돌아다닐 수 있다. 내가 만든 버전 뿐만 아니라 동료가 만든 버전으로 이동할 수 있고, 동료와 내 버전을 비교해서 최신본으로 코드를 업데이트를 할 수 있다. Git은 CLI, CUI 두가지 방법으로 사용 가능하다. Git, Git Bash 터미널에서 git을 입력시에 위와 같은 커맨드가 나와야 .. 2022. 3. 29. 디자인 패턴 - 싱글톤 싱글톤 패턴이란? 클래스의 인스턴스를 오직 하나만 생성하도록 하며, 어디서든지 그 인스턴스에 접근할 수 있도록 하기 위한 패턴 싱글톤 패턴은 간단히 말해 단 하나의 인스턴스만 생성해서 사용할 수 있어야 한다는 것이다. 왜 필요할까? 쉽게 생각하자면 게임의 설정 화면같은 경우는 오직 하나만 존재해야 할 것이다. 만약 설정 화면이 여러 인스턴스가 존재해서 A라는 설정화면에서는 Q라는 버튼을 눌렀을 때 공격을 하게끔 설정하였는 데 B라는 설정화면에서는 마우스 왼쪽 클릭을 통해 공격을 하게끔 설정해놓는다면 매우 헷갈릴 것이다. 이런 경우 설정 화면을 단 하나의 인스턴스에서만 설정할 수 있게끔 제공을 해야 한다. 또한, 하나의 인스턴스만 사용하니 메모리 측면에서 이점을 가져갈 수 있고 인스턴스가 전역으로 사용되는.. 2022. 3. 25. IntelliJ로 Maven 프로젝트 만들기 IntelliJ 2021.3 버전 기준으로 작성하였습니다. 이때까지의 프로젝트는 Gradle을 사용했지만 데브코스에서는 Maven을 사용한다하여 과제를 실시할 때 Maven으로 프로젝트를 생성해보았다. 자세한 설정은 없고 그저 과제를 하기 위한 프로젝트이니 간단하게만 만들었다. 프로젝트 생성 인텔리제이 시작화면에서 NEW PROJECT를 클릭한다. Maven 프로젝트를 만들것이니 왼쪽에서 Maven 프로젝트를 클릭하고 Project SDK에서 자바 버전 선택 나는 8버전으로 선택하였다. 자신이 원하는 프로젝트 이름을 Name 칸에 적어준다. ( Name에 해당 하는 폴더 생성 ) 나머지 칸도 알맞은 내용으로 적어준다. GroupId 프로젝트를 고유하게 식별할 수 있게 해주는 ID 따라서, 네이밍 스키마를.. 2022. 3. 22. 이전 1 2 3 4 5 6 7 다음