코코코딩공부
[JAVA] 정규표현식
우아한 테크코스 LV1 사다리 게임을 진행하면서 Validation 처리로 정규표현식을 사용할 일 이 생겼다. 알파벳 외에는 입력받지 않는 것이였는데 이에 정규 표현식을 사용하여 처리하면 쉽게 해결 할 수 있다는 것을 배웠다. 자바 정규 표현식 자바에서는 주로 Pattern 클래스와 Matcher 클래스를 사용하여 자바 정규 표현식을 사용한다. Pattern 이란 주어진 문자열이 정규식에 매칭되는지 테스트 하는 것이며 Matcher란 문자열의 패턴을 해석하고 주어진 패턴과 일치하는지 체크할때 사용한다. 자바 정규 표현식 문법 ^ - 정규식의 시작 $ - 정규식의 끝 . - 임의의 한글자가 존재한다 ? - 앞의 문자가 하나이거나 없거나 * - 앞의 문자가 0 ~ 무한한 것 + - 앞의 문자가 1 ~ 무한한..
[JAVA] static, final, static final 이란 ?
레이싱 경주를 구현하다보니 static, final, static final의 차이가 궁금해져서 작성하게되었다. 뭔가 세개가 다 같다고 느껴져서 작성해보았다. static 공용으로 가지는 필드이다. 객체 생성 없이 사용할 수 있는 필드와 메소드를 의미한다. static 변수,메소드는 Heap영역이 아닌 Static영역에 할당된다. Static 영역에 할당된 메모리는 모든 객체가 공유할 수 있다. 하지만 Static영역에 있는 멤버들은 프로그램의 종료시까지 메모리가 할당된 채로 존재하게 되므로 메모리차지를 통해 시스템 성능이 안좋을 수 있다. 지역변수, 메소드 라고 생각하면 될 것 같다. final final 키워드는 딱 한번 값이 할당 될 수 있는 필드이다. final 클래스 - 상속할 수 없는 클래스 ..
[디자인 패턴] MVC 패턴
MVC 패턴이란 MVC 패턴이란 MODEL, VIEW ,CONTROLLER 로 나누어 역할을 수행하는 디자인 패턴 중에 하나이다. 이 패턴은 모듈화를 통해 유지보수가 쉽기에 사용하며, 커뮤니케이션에 좋고, 역할을 나누기에 단일책임원칙에 따라 좋은 설계가 될 수 있다. 역할분리를 통해 유지보수,확장성,소통이 좋기에 MVC패턴을 사용한다. 사용자가 입력을 하면 요청View를 통해 요청이 들어온다. 이 요청은 Controller가 받는다. Controller는 Model을 통해 데이터를 가져오고 이 데이터를 기반으로 출력View를 통해 사용자에게 전달한다. Model 데이터에 대한 정보가 있다. 비즈니스 로직을 가진 객체라고 할 수 있다. 내부 비즈니스 로직을 처리한다. DB와 연동하여 사용자의 데이터를 처리..
[JAVA] ENUM
우아한 테크코스 프리코스에서 ENUM을 이용하여 코드를 구현하라는 미션이 있었다. 당시 나는 ENUM이라는 것에 대해서 알지도 못했고 필요성을 느끼지도 못하였다. 그 후 최종코딩테스트에서 메뉴 관련된 코드를 구현하다가 ENUM을 사용한다면 조금 더 효율적으로 코드 작성을 할 수 있지 않을까 라는 생각이 들었다. 물론 나의 최종 코드는 ENUM 같은 것은 사용되지 않은 코드였다 .. ENUM 이란 JDK 1.5부터 사용 가능한 서로 연관된 상수들의 집합 이다. 자바의 열거체는 실제 값뿐만 아니라 타입을 체크하며 열거체의 상숫값이 재정의되더라도 다시 컴파일할 필요가 없습니다. 아래는 사용했던 방법이다. enum 열거체이름 { 상수1이름, 상수2이름, ... } public enum Score { zero(0..