본문 바로가기

전체 글47

블로그 이전 쓴지 얼마나 됐다고... 하지만 티스토리 맘에 안들어서 옮기긴 해야겠다. 좋은 글들만 추려서 마이그레이션 하는 걸로... dev log Hello World✨ luciddevlog.kr 2023. 12. 7.
코드스쿼드 선발과제(2024, 백엔드 과정) 12월 1일부터 12월 5일까지 진행된 2023년 코드스쿼드 선발 과제 진행 후기입니다. https://gist.github.com/dearmysolitude/467392c4331d8bd348be3b2fee61ab90 해당 gist의 README.md 와 동일한 내용입니다. Intro 5 일 동안 과제를 진행하며, 첫째 날 늦게 시작하여 마지막 전날에 완료하였음. 마지막 날은 과제 외에 제출을 요구하는 소개서와 설문, 그리고 리드미 정리를 진행하였다. 주어진 과제 기간이 여유롭지 않아 구현을 빠르게 시작하였다: 그러다보니 설계에는 별로 시간을 사용하지는 못함. 기능 요구사항 1 단계에서는 게임 로직을 구현 2 단계에서는 2 인이 플레이할 수 있는 로직 변경과 콘솔 입출력 실행의 추가 기능 3 단계에서는 .. 2023. 12. 6.
인터페이스 Interface 기능들의 목록을 가지고 있는 것: 무슨 기능을 만들어야 할 지 메서드에 대한 선언만을 가지고 있다. 즉, 규칙을 잡거나, 플로우 로직을 잡는데 사용한다. 객체의 사용 방법을 정의한 타입이다. 객체의 교환성을 높여주기 때문에 Upper CamelCase로 작성된다. 확장자가 .java파일로 작성한다. 모든 필드는 public static final이어야 하며, 모든 메서드는 public abstract이어야 한다. (Java 7까지는) final, abstract를 생략하면 자동으로 붙는다. Java 8 부터는 default 메서드(구현된 메서드)와 static 메서드도 선언이 가능하다. 인터페이스의 default 메서드: JDK 8에 추가된 메서드 default 메서드가 인터페이스에 추가된 이유에 대해 .. 2023. 12. 1.
Java의 String 클래스 String 클래스 public class StringExam{ public static void main(String[] args) { String str1 = "hello"; String str2 = "hello"; String str3 = new String("hello"); } } new로 생성하지 않은 경우 상수 취급된다. 따라서 str1과 str2는 같은 것을 참조한다. new를 사용한 str3는 힙 메모리에 항상 새로운 객체를 생성한다. Reference 타입에서 ==는 같은 객체를 참조하는지 확인하는 연산자이다. 그래서 str1, str2, str3 를 비교하게되면 ==로 비교했을 때 1, 2는 참이 나오지만 1, 3을 비교하면 거짓이 나온다. 만약 new로 새로운 hello를 만들어 st.. 2023. 11. 30.
추상 클래스 2: 템플릿 메서드 패턴 Template Method Pattern 추상 클래스는 템플릿 메서드 패턴에서 가장 잘 사용할 수 있다: 템플릿 메서드 패턴에 대해 살펴보도록 하자. 다음 같은 상황이라고 생각해보자. Controller 종류가 여러개 → { 초기화 - 같은 코드 실행 - 다른 코드 마무리 - 같은 코드 } Controller의 종류를 여러개 만들어 여러 종류의 케이스에 대해서 각각 처리를 하도록 Cotroller(추상클래스)를 부모로 하여 모델을 구현해 보자. 각 클래스는 적절하게 패키지를 작성하는 것이 좋다: 패키지 도메인은 생략 public abstract class Controller { protected final void init() { System.out.println("작업 시작"); } protected final void close() { Sy.. 2023. 11. 30.
추상 클래스 1: 추상 클래스란 여러가지 속성들을 추상화하여 일반적인 속성만을 모아놓은 추상 클래스로 작성할 수 있다. 추상클래스는 인스턴스가 될 수 없다. 추상 클래스를 상속받는 자손이 인스턴스가 된다. abstract 키워드를 사용하여 클래스를 정의한다. 1개 이상의 추상 메서드로 이루어진다. 시리즈 추상 클래스 1: 추상 클래스란 추상 클래스 2: 템플릿 메서드 패턴 2023. 11. 30.