☕ Java

    Java 배열, List, Map, Set의 선언 방법과 차이

    배열 String[] test = {"a", "b", "c"}; int[] num = new int[3]; 크기 고정 삽입/삭제 시 오래걸린다는 단점이 있다. List ArrayList pitches = new ArrayList(); ArrayList pitches = new ArrayList(); //선호되는 방식 //우측 제네릭 타입은 안써줘도 왼쪽 제네릭에 의해서 알 수 있으므로 더 선호되는 방식 List arrList = new ArrayList(); //객체지향적 설계를 위해 List 인터페이스를 통해 선언하는게 좋다고 함. List는 기본적으로 데이터들이 순서대로 저장되며 중복을 허용한다. 보통 List는 ArrayList만 쓰이며 일반적인 배열 방식보다 더 권장된다. Map Map map =..

    JSP와 자바빈(JavaBean)

    자바빈 자바빈이란 DTO와 같은 자바 클래스를 이용해서 JSP 코드가 아닌 useBean을 사용하여 가져오는 기술을 말한다. 1. useBean의 예시 2. useBean을 JSP 코드로 바꾸면? 위의 액션태그를 코드로 바꾸면 아래와 같다. MemberBean member = (MemberBean)request.getAttribute("member"); if(member == null){ member = new MemberBean(); request.setAttribute("member", member) } 3. JSP가 아닌 방법으로 꺼내 쓰는 방법 사용하는 이유와 장점 html 코드는 여러 개발자들이 본다. request.getParameter로 값을 들고오는 경우 자바 개발자가 아니면 해당 명령어를..

    [Java vs Node.js] 무엇이 더 좋을까?

    비교 서버를 사용할 때 두 기술은 비교 자체가 무의미 할 정도로 장단점이 존재하고 시장 점유율도 높다고 한다. 다른 말로 하자면 Java를 배우는데 있어 Node를 안배울 이유가 없고 Node를 배우는 데 있어 Java를 안 배울 이유가 없다는 뜻. 특히 Node는 중국, 한국 제외 거의 모든 나라에서 웹 애플리케이션 개발에 주로 쓰이고 있을 정도라고함(그랬어..?) 두 서버 기술을 비교하자면 아래와 같다.(해외 사이트 이곳저곳 긁어온 결과) Java Node 학습 어려움 쉬움 Job Trend 수요 많음(한국에서 더 많음) 수요 많아지고 있음(외국에서 더 많음) 성능 고성능 Java에 비해 '상대적'으로 성능 낮음 메모리 사용 높음 낮음 여기서 제일 큰 부분이라 여겨지는건 한국에선 채용 측면에서 그래도..

    기본 생성자(Default Constructor)가 필요한 이유

    서론 어느날 갑자기 이런 생각이 떠올랐다. 클래스에 매개변수가 존재하는 생성자가 있으면 기본 생성자가 굳이 필요한가? 왜 매개변수가 존재하는 생성자를 만들어주면 항상 기본 생성자를 만들어줘야하지? 왜 기본 생성자를 안 만들어주면 왜 가끔 에러가 나는거야? 기본 생성자는 도대체 왜 필요한거지? Stackoverflow에선 이렇게 답변하는 사람도 있었다. "I don't have a good answer for 'why'. Because that's how the language was built." -> "언어가 그냥 그렇게 만들어졌어 나도 몰라"(아 몰라 그냥 그런줄 알고 있어) 그래서 조금 객체지향적인 관점에서 설명해보려고 한다. 슈도 코드 기본 생성자가 필요한 이유를 설명하기 위해선 상속에 대한 설명..