Backend/JAVA

Backend/JAVA

[JAVA] 동작 파라미터화에 대하여(모던 자바 인 액션)

0. 개요 사용자의 요구사항은 시시각각 변함 그에 맞게 엔지니어링을 꾸준히 변화해야 하는데, 비용을 최소화하면 좋음 동작 파라미터화를 통해 자주 바뀌는 요구사항에 대해 대응할 수 있도록 함 메소드의 인수로 코드 블록을 전달함으로써 ‘동작’ 자체를 인수로 전달할 수 있음. 리스트를 예로 들면, 아래처럼 진행 가능함 리스트의 모든 요소에 대해서 ‘어떤 동작’을 수행 리스트 관련 작업을 끝낸 다음 ‘어떤 다른 동작’ 수행 에러가 발생하면 ‘정해진 어떤 동작’을 수행 1. 변화하는 요구사항에 대응 예컨데, “필터링”하는 작업에서 기준이 달라지는 경우가 있다. 현재는 녹색사과만 선택(필터링)하고 있다. 만약, 빨간사과도 필터링하고자 하면 어떻게 고칠까?? public static List filterRedAppl..

Backend/JAVA

[JAVA] Object 클래스와 Object 메소드(equals, hashCode, toString)

클래스를 선언할 때 extends 키워드로 다른 클래스를 상속하지 않으면 암시적으로 java.lang.Object 클래스를 상속한다. 이는, 컴파일러 단에서 자동적으로 이루어진다. 그렇기에, Object가 가진 메소드를 모든 객체에서 사용할 수 있다. 그 종류는 대표적으로 세가지가 있다. boolean equals(Object obj) int hashCode() String toString() 각각 설명해보자 1. boolean equals(Object obj) 객체의 번지를 비교하여 결과를 리턴한다. equals()는 ==은 기본적으로 동일하다. 대게, 메소드를 재정의해서(오버라이딩) 동등 비교로 사용하기도 한다. "동등 비교"란 객체가 달라도 내부의 데이터가 같은지를 비교하는 것을 말한다. 가장 대표..

Backend/JAVA

[JAVA] Servlet 이란?

자바에서 웹 개발을 하다보면 필수 지식인 서블릿에 대해서 이야기 해보자 Servlet = Server + Applet - 서블릿은 자바의 서버기반에서 돌아가는 일종의 프로그램이다. - 개발자가 순수 자바로 서버를 개발한다고 하면, 보통 서블릿 코드를 작성한다. Servlet 코드랑 자바 코드랑 무슨 차이인데? - 일반적인 자바코드는 JVM 위에서 작동 - 하지만, Servlet 코드는 JVM위에 Servlet Container라는 것을 두고 그 Container 안에서 실행된다. - 컨테이너(Container)라 하면 보통, WAS 내에서 돌아간다. - 보통 많이 쓰는 WAS는 Apache사에서 제작한 Tomcat이며, 이 안에는 서블릿 컨테이너가 내장되어 있다. Servlet Class Hierarch..

Backend/JAVA

[JAVA] JAVA 기본 용어 정리

1. JAVA SE(Standard Edition) 말그대로 JAVA SE는 가장 기본, 표준 에디션이다. JAVA 프로그래밍 언어 사용 시 java.lang*, java.io*, java.util* 등 과 같은 기본 패키지가 있다. JDBC나 JSP와 같은 내용이 지원되지 않는 spec이라 서버 개발 시 불편하다. 2. JAVA EE(Enterprise Edition) SE에 비해 보다 확장된 기능을 제공한다. JSP, Servlet, JDBC, Framework 등의 많은 기술을 제공하여 실질적인 자바 웹 서버를 만드는데 도와준다. 3. JAVA Application 실행 단계 자바 어플리케이션은 아래와 같은 과정을 거쳐 실행된다. 1. Test.java(원시 소스코드) - 원시 소스 코드를 생성 -..

기만주
'Backend/JAVA' 카테고리의 글 목록