슈퍼 스파게티 하드코딩 소스에서 개발을 하려니 개발시간보다 변수 찾는 시간 + 복잡해서 빼먹은 수정하는 시간이 전부인거 같다. 그래서 일단 중복 코드부터 묶어서 정리하는거부터 step by step으로 하나씩 풀어가보려는 중이다.가령, if (카테고리1) {같은 코드} if else (카테고리2) {같은 코드} ... 이런식으로 카테고리4 까지 있으면 중복코드가 4개나 써지게 되는데, 만약 중복코드가 100줄이라면 400줄이 써져버리는 것이다...수정할 일이 생기면 총 네 번의 수정을 해야하며, 이걸 또 찾다보면 코딩을 하는건지 코드 찾기 게임을 하는건지 헷갈리는 불상사가 생긴다.간단하게 같은 코드를 쏙 빼내면 편하겠지만, 카테고리별로 다른 기능을 조금씩 추가하다보면 미묘하게 달라서 그러지도 못하게 된다..
1SELECT * FROM EMP WHERE DEPTNO20 AND JOB'SALESMAN';csDEPTNO(부서번호)가 20이 아니고 JOB(직무)가 세일즈맨이 아닌 사람들을 SELECT 하면 다음과 같다. 1SELECT * FROM EMP WHERE DEPTNO = 10 OR DEPTNO = 30 AND JOB = 'MANAGER' OR JOB = 'CLERK';csDEPTNO(부서번호)가 10 또는 30이고 JOB(직무)가 매니저 또는 직원인 사람들을 SELECT 하면 다음과 같다. 원래 의도는 위 쿼리에서 JOB이 PRESIDENT인 사람을 제외하고 결과가 같도록 하는거였는데 다르다!DEPT가 10 또는 30인 사람만 나와야하는데 20인 사람이 툭 튀어나온 것이다.왜 그럴까 ? AND는 OR에 비..
CSS는 기본적으로1.arrowTest {background-color: coral; color: white;}cs 요런 형태로 되어있다.앞에 아이디나 클래스로 선택자를 지정해서 스타일을 적용하는 것이다.그럼 클릭하면 다른 CSS가 적용되게 하려면 어떻게 해야할까??미리 클래스를 만들어두면 된다.즉, 실제로 arrowTest 클래스는 없지만 선택자로 .arrowTest 라는 클래스를 지정해 놓는 것이다.그러면 나중에 클래스를 만들면 거기에 원하는 스타일이 적용되면서 해피엔딩으로 마무리된다! 예를 보면 더 이해가 팡팡 되니깐 예제를 먼저 보면12.tbArrowUp{background-image:../home/image/arrowup.png}.tbArrowDown{background-image:../home..
예외 처리의 두가지 방법1. 처리하기> try{ } catch (Exception e) { }> 처리하고 꼭 실행시켜주고 싶은게 있으면 마지막에 finally { }> 여러개의 catch 사용가능 (순서대로 처리하기 때문에 아래로 갈수록 예외 상위클래스로!)2. 회피하기> 메소드 옆에 throws Exception { } - 상위 클래스인 Exception만 해도 모든 예외가 처리(회피) 되지만, 어떤 예외가 발생했는지 알 수가 없다.- 컴파일러에서는 RuntimeException을 제외한 모든 것을 확인 (확인 예외)- RuntimeException은 컴파일러에서 확인하지 않음.(미확인 예외)
Static 메소드- Static 메소에서는 static 변수가 아닌 변수는 사용할 수 없다.- Static 메소에서는 static 메소드가 아닌 메소드도 사용할 수 없다.- 호출할 때는 클래스명을 사용해 호출한다. (아래 예제 기준으로 Chicken.정적메소드();)> 레퍼런스 변수명( = new 클래스())로도 호출이 가능하지만 경고가 뜬다. (좋은 방법이 아니라는 얘기)> 호출할 수 있다고 해서 참조하는 객체에 들어있는 인스턴스 변수를 사용한다거나 하는 것이 아니기 때문에 Static 변수- 클래스가 처음 로딩될 때 초기화- 인스턴스가 만들어질 때마다 초기화되지 않음.123456789public class Chicken { int chickenCount = 0; public int chicCnt()..
깊게 파면 한도 끝도 없겠지만 책을 바탕으로 가볍게알고는 있지만 안쓰다보면 잊게 되는 내용들만 정리해봐야겠다. class A - class B extends A - class C extends B (상위클래스 - 하위클래스)> 'A는 B다' 가 성립하면 상속> class C에서 class B의 메소드를 오버라이드 하지 않고 그대로 쓰고 싶다면- super.bclassMethod();> 모든 클래스는 extends Objects- Object 클래스를 상속받고 있다.- 따라서 Object 클래스의 메소드를 사용하거나 오버라이드 할 수 있다.> 이중상속 불가능.- class C가 class B를 상속받고 있는데 어디서 굴러나온 class D를 또 상속 할 수 없다.* 처리 순서(?)- 호출 : C → B →..
- Total
- Today
- Yesterday
- 타겟 넘버
- 최솟값
- 알고리즘
- cgv
- 안드로이드 스튜디오
- json
- 문자열 내 마음대로 정렬하기
- 자바
- 노션트렐로광고X
- 맵 api
- 카카오인턴
- 텔레그램
- 기능개발
- 예매 알림
- 객체지향과 디자인패턴
- 124 나라의 숫자
- API
- 더 나은 내일
- 다음 맵 api
- AWS
- 파이팅코리아
- 완주하지 못한 선수
- FrogJmp
- codility
- 스프링 부트
- Spring
- 쇠막대기
- java
- 프로그래머스
- K번째수
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |