본문 바로가기

개발40


[JAVA] 자바에서의 제네릭(generic)이란? 이것도 이전 글과 마찬가지로 머나먼 옛날에 작성했던 글이다. 고로 틀릴 수도 있다. 근데 대충 한 번 슥 훑어보니 그다지 틀린 듯한 느낌은 들지 않아서 그냥 올린다. 먼저 결론부터 말하자면 제네릭을 쓰게 되면 그 안에 무엇이 들어있는지 쉽게 확인이 가능하다. 그러니까 쉽게 예를 들어 우리가 집안에서 물건을 정리할때 박스에 넣어서 보관한다고 치면 택(Tag)이나 포스트잇으로 내용물을 써서 붙여두지 않으면 일일이 박스를 열어봐야 '아~ 이게 들어있구나.' 하고 알게 되지만, 무엇이 들어있는지 써두거나 붙여두면 박스를 열어보지 않고도 무엇이 들어있는지 알 수 있는 것과 같은 이치이다. 제네릭으로 올 수 있는 건 뭐… 리턴형과 마찬가지로 뭐든지 올 수 있다. 그리고 그 외에도 E, T, ? 등의 다양한 예약어가.. 2022. 4. 13.
[JAVA] 자바의 인스턴스화, 생성자 간만에 네이버 블로그를 로그인해서 보다보니 옛날옛날에 갓 자바를 배우기 시작했을 때 작성했던 글이 보였다. 무려 2011. 9. 6. 12:51 작성글. 이 때는 나도 어렸는데 말이지. 하여튼 예전엔 뭔가를 새롭게 알게 되면 바로바로 이렇게 글도 써가면서 열심히 공부를 했던 기억이 있는데 이제 짬밥이 좀 찼다고 이런 것도 너무 귀찮다. 아무 것도 모르던 시절에 적은 글이라 내용은 틀릴 수 있다. 틀렸으면 고쳐야 하는데 사실 지금도 짬밥만 찼지, 아는 건 하나도 없는 쩌리라 고칠 수 있을 지 모르겠다. 그냥 예전에 적었던 글의 느낌을 살리기 위해 문법적인 에러를 제외하고는 그대로 옮긴다. 올해 6월 달에 처음 자바를 배우기 시작했을 때 생성자라는 것에 대해서 엄청 고민을 했었고 무슨 뜻인지 모르겠어서 엄청.. 2022. 4. 13.
다형성이란 무엇일까? 자바 인터페이스를 사용해서 적용해보자. 어려운 개념, 용어는 다 제쳐두고 다형성이라는 것에 대해서만 적어보겠다. 원래 적을 생각은 없었지만 우리 최매씨에게 보여줄 다형성에 관한 글을 찾다보니 마음에 드는 글이 없어서 직접 작성한다. 물론 나도 완벽하게 작성한다는 보장은 없다. 어쨌든 예를 들어 Avante 클래스와 Genesis 클래스가 있다고 치자. 보통의 경우 해당 클래스에 있는 자원(메소드, 변수 등등)을 이용하기 위해서는 다음과 같은 방식을 통해 해당 클래스를 인스턴스화하고 사용하게 된다. Avante avante = new Avante(); Genesis genesis = new Genesis(); 누가 봐도 avante 는 Avante 클래스고 genesis 는 Genesis 클래스다. 이렇게 사용하는 게 나쁜 건 아니다. 무조건 .. 2022. 4. 13.
[타임리프/Thymeleaf] 조건문 사용하기, 조건부 랜더링 너무나도 당연한 이야기지만 타임리프에서도 조건문을 지원하고 있다. 하긴 프로그래밍의 기본은 조건문인데 이걸 지원하지 않으면 라이브러리로서의 기능을 상실했다고 보는 게 맞지 않을까... 조건문으로는 if 와 switch 구문을 지원하고 있다. 자바스크립트 또는 JSP 에서 사용하는 JSTL 과는 약간 다른 방식으로 사용해야 하니 주의하도록 하자. 물론 그렇게 어렵지는 않다. 조건문 - th:if, th:unless 먼저 주의해야 할 점은 타임리프에서 사용하는 if 조건은 다른 프로그래밍 언어와 마찬가지로 if 구문을 사용하지만 else 구문은 지원하지 않는다. 그렇다고 else 기능이 아예 없는 건 아니고 unless 를 사용하면 되는데 주의할 점은 if 조건과 unless 의 조건이 동일해야 한다는 점이.. 2022. 3. 26.
[타임리프/Thymeleaf] 기본 표현식 투입한 프로젝트에서 타임리프를 쓰게 됐다. 자바, JSP 만 할 줄 알면 된다더니 하여튼 프로젝트 투입하는 곳마다 사용 기술에 대해 정확한 정보를 주는 적이 없다. 타임리프를 쓰면 JSP 는 할 줄 알 필요가 없잖아... 하긴 뭐 JSTL 과 사용 방법에 있어 크게 차이는 없으니 JSP 를 할 줄 아는 사람이라면 타임리프는 쉽게 적응할 수 있어서 아예 안 해본 것보다는 나을 수도 있겠다. 그나마 나는 ㅇㅁㄹㅍㅅㅍ 에서 근무할 때 타임리프를 어느 정도 사용해봤고 그 이후로도 간간히 혼자 프로젝트를 진행하면서 조금씩 사용해왔기 때문에 큰 부담은 없는 게 다행이라면 다행이다. 하지만 개발 공부가 늘 그렇듯이 잠깐 사용하지 않았다고 그새 다 잊어버린 바람에 다시 복습을 하면서 복습한 내용들을 위주로 블로그에 남.. 2022. 3. 22.
프로젝트 착수 준비 겸 용어 준비 (Last Update - 2022.03.19) 프로젝트 착수 전 제안서를 보면서 용어를 모르겠는 게 너무나도 많아서 여기다가 정리해두려고 한다. 거의가 회계/금융용어인데 내가 아는 게 너무 없는 듯... ㅋㅋ 개인적으로 검색해서 남겨두는 것이므로 틀릴 수도 있다. 다른 분들은 웬만하면 참고하지 않으시기를 바란다. 계정과목 계정 - 거래의 성격을 간단 명료하게 처리할 수 있도록 사전에 정해놓은 자산, 부채, 자본, 수익, 비용의 고유명칭 과목 - 가르치거나 배워야 할 지식 및 경험의 체계를 세분하여 계통을 세운 영역. - 뭔가 어려운 말 같지만 정리하자면 아마도 그냥 거래분류(혹은 종류, 카테고리) 라고 생각하면 편할 것 같다. 차주 대출을 받는 사람, 즉. 채무(*반대는 채권)자. 여신 대출금, 지급보증을 의미한다. 쉽게 말해서 대출. 흔히 말하는 .. 2022. 3. 8.
jQuery (제이쿼리) - jQuery next(), nextAll() next() 함수는 셀렉터로 지정한 객체의 다음 객체(동일 노드 혹은 하위 노드)를 선택해주는 함수인데 사실 이걸 어디다 써먹어야 하는지는 공부로 작성하고 있는 지금은 와닿지는 않는다. 기본적인 문법은 다음과 같다. $(document).ready(function() { // 반갑습니다 가 선택 된다. alert($("div").next().html()); // 반갑습니다 가 선택 된다. alert($("div").next("b").html()); // undefined 가 발생한다. alert($("div").next("p").html()); }); 안녕하세요 반갑습니다 어서오세요 웰컴 파라미터로 셀렉터를 넣을 수 있으며 파라미터를 넣을 경우 대상 셀렉터의 바로 다음에 위치한 객체가 파라미터로 넣어서 .. 2018. 6. 24.
jQuery (제이쿼리) - jQuery append(), appendTo(), prepend(), prependTo() HTML DOM 에 새로운 객체를 추가하는 제이쿼리 함수에는 append 와 appendTo 가 있다.그리고 prepend 와 prependTo 도 있는데 이 두 종류의 함수는 작동 방법이 다를 뿐이고 사용 방법은 완전 동일하다. append 는 해당 객체를 꼬리에 붙이는 함수이고 prepend 는 해당 객체를 머리에 붙이는 함수이며 각각 To 가 붙은 appendTo 와 prependTo 와의 차이점은 객체를 먼저 선언하느냐 대상을 먼저 선언하느냐의 차이이다. 기본 사용 문법은 다음과 같다. $(document).ready(function() { // 대상을 먼저 선언한다. $("#divContents").append("순번 1"); // 객체를 먼저 선언한다. $("순번 2").appendTo("#d.. 2018. 6. 24.
jQuery (제이쿼리) - jQuery add() 이번에는 제이쿼리 함수 중 add() 라는 함수에 대해 공부 해볼건데 이 함수는 이름에서도 알 수 있듯이 무언가를 추가하는 역할을 한다. 그렇다면 뭘 추가할 수 있느냐 하면 기존 셀렉터로 선택 된 제이쿼리 배열에 대해 추가적으로 셀렉터를 지정해 기존 제이쿼리 배열에 새로운 값들을 추가할 수 있다. 이것도 간단한 예제로 살펴보자. 1. A-C 2. D-G 3. H-L 4. M-P 5. Q-S 6. T-V $(document).ready(function() { $("h1").css("color", "red").add("h2").css("background-color", "yellow"); }); 위의 예제를 보면 처음 선언한 셀렉터는 h1 태그 셀렉터이고 해당 셀렉터 뒤에는 color 를 red 로 변경해주.. 2018. 6. 24.