자바 20

[JSP] JSP 웹 프로그램의 이해

* JSP : JAVA SERVER PAGE, HTML + JAVA * 자바를 잘 알아야한다. 선수지식 필수 * Model 1 동작방식 : 브라우저(클라이언트)의 요청(Request) -> JSP가 처리 -> DB 연동 후 -> JSP 처리 즉, 모든 처리를 JSP가 한다면 Model 1이다. EZ. * Model 1과 Model 2의 가장 큰 차이 : 고객의 요청(Request)을 누가 처리하는지 * Model 1은 고객의 정보를 JSP가 처리한다. * Model 2는 고객의 정보를 Servlet(Controller)이 처리한다. 여기서 Servlet이란 자바로 된 웹 페이지 기술이다. Pure JAVA * JSP는 HTML안에 쓰는 거고, Servlet은 JAVA 코드다. * 이제 Model 2를 쓰..

Programming/JSP 2022.03.21

[TFAE] JAVA SE, EE, ME 차이가 뭐야?

자바면 자바지, SE는 뭐고 EE? 그리고 ME? 뭐지..라는 생각에 적어보는 오늘의 포스팅. 한 줄 요약 : 자바의 플랫폼 종류이고, 플랫폼 별(SE, EE, ME)로 사용하는 목적에 차이가 있다. 조금 더 자세히 알아보자. JAVA SE (Java Platform Standard Edition) 데스크톱, 서버, 임베디드시스템을 위한 표준 자바 플랫폼. 자바 가상머신 규격 및 API집합을 포함한다. JAVA EE,ME는 목적에 따라 SE를 기반으로 기존의 일부를 택하거나 API를 추가하여 구성된다. SE는 가장 일반적으로 사용된다. JDBC나 기본적인 기능이 모두 포함되어 있기 때문에 Android개발할때 주로 SE를 사용한다. JAVA EE (Java Platform EnterPrise Editio..

[TFAE] 맥북 자바 버전 확인 및 자바 버전 변경하는 법

맥북을 사용하다 보면, 프로젝트 시 조건에 따라 버전을 달리 설정해야 할 때가 있다. 그럴 때 맨날 구글링 하는 것도 좋지만, 내 것을 보는 것이 더 도움이 될 것 같아서 작성한다. * 설치된 자바 경로 확인 /Library/Java/JavaVirtualMachines/ * 현재 시스템 상에서 사용중인 자바 버전 확인 java -version * 자바 버전 변경을 하고 싶다? 변경하고자 하는 자바의 경로를 복사한다. Home에서 소스 파일을 연다. bash_profile 혹은 zshrc 파일 (bash_profile 과 zshrc의 차이점) $vi ~/.zshrc​ 터미널 내 zshrc파일에서 JAVA_HOME을 찾아 JAVA_HOME의 값을 1번에서 복사한 경로로 붙여넣는다. 문서 수정하려면 (I)를 ..

[JAVA STUDY] 9주차 : 예외처리

목표 자바의 예외 처리에 대해 학습하세요. 학습할 것 (필수) 자바에서 예외 처리 방법 (try, catch, throw, throws, finally) 자바가 제공하는 예외 계층 구조 Exception과 Error의 차이는? RuntimeException과 RE가 아닌 것의 차이는? 커스텀한 예외 만드는 방법 자바의 정석을 기반으로 한 예외처리 학습 컴파일 에러 : 컴파일 할 때 발생하는 에러, 자바 컴파일러가 실행될 때 발생하는 에러, 실행할 수 없음 런타임 에러 : 실행할 때 발생하는 에러, 실행은 되나 프로그램이 죽는 경우 논리적 에러 : 작성 의도와 다르게 동작, 잘 동작은 하나 의도대로 동작하지 않는 경우 Java의 런타임 에러 종류 2 가지 에러는 어쩔 수 없지만, 예외는 처리하자! Erro..

Programming/Java 2021.11.29

[JAVA STUDY] 8주차 : 인터페이스

목표 자바의 인터페이스 학습하기 학습할 것 인터페이스 정의하는 방법 인터페이스 구현하는 방법 인터페이스 레퍼런스를 통해 구현체를 사용하는 방법 인터페이스 상속 인터페이스의 기본 메소드 (Default Method), 자바 8 인터페이스의 static 메소드, 자바 8 인터페이스의 private 메소드, 자바 9 인터페이스 정의하는 방법 인터페이스를 작성하는 것은 클래스를 작성하는 것과 같다. 키워드로 interface를 사용한다. interface 인터페이스_명 { public static final 타입 상수명 = 값; public abstract 메서드명(매개변수); } 인터페이스 멤버들은 제약사항이 있다. 모든 멤버 변수는 public static final 이어야 하며, 이를 생략할 수 있다. 모..

Programming/Java 2021.11.23

[JAVA STUDY] 7주차 : 패키지

목표 자바의 패키지에 대해 학습하세요. 학습할 것 package 키워드 import 키워드 클래스 패스 CLASSPATH 환경 변수 -classpath 옵션 접근지시자 Package 목적 어떤 기능들을 묶어서 용도나 목적에 맞춰서 분리 한 것을 의미한다. ArrayList 클래스는 java.util이라는 패키지 안에 있다. 자바에서 제공하는 유용한 도구들이 있는 패키지라고 이해할 수 있다. 따라서, 프로그램을 작성할 때, 기업의 고유정보등을 이용하여 패키지를 작성하면 클래스의 이름이 충돌하는 것을 방지할 수 있다. Package 작성 관례 클래스의 이름과 구분이 되도록 패키지의 이름은 전부 소문자. 인터넷 도메인 이름의 역순으로 패키지 이름을 구성. 패키지 이름의 끝에 클래스를 정의한 주체 또는 팀을 구..

Programming/Java 2021.11.15

[JAVA] 제어자

* 제어자(modifier) - 클래스와 클래스의 멤버(멤버 변수, 메서드)에 부가적인 의미 부여 * 접근제어자 : public, private, (default), protected * 그 외 : static, final abstract, native, transient, synchronized, volatile, stricffp - 하나의 대상에 여러 제어자를 같이 사용 가능(접근 제어자는 하나만 가능) public class ModifierTest { public static final int WIDTH = 200; public static void main(String[] args) { System.out.println("WIDTH="+WIDTH); } } * static - 클래스의, 공통적인 ..

Programming/Java 2021.11.08

[JAVA STUDY] 6주차 : 상속

목표 자바의 상속에 대해 학습하세요 학습할 것 자바 상속의 특징 super 키워드 메소드 오버라이딩 다이나믹 메소드 디스패치 (Dynamic Method Dispatch) 추상 클래스 final 키워드 Object 클래스 자바 상속의 특징단일 상속이란 자식 클래스가 하나의 부모클래스로부터 기능을 물려받는 것을 말한다.자바의 상속을 선언하기 위해서 extends 키워드를 사용한다. class A { public void read() {...} } ​ class B extends A { @Override public void read() {...} public void write() {...} } 🚩자바 상속의 특징 요약부모 클래스는 자식 클래스에게 필드와 메소드를 모두 물려준다. 자식 클래스의 생성자를 호..

Programming/Java 2021.11.07

[JAVA STUDY] 5주차 : 클래스(Class)

목표 자바의 Class에 대해 학습하세요. 학습할 것 클래스 정의하는 방법 객체 만드는 방법 (new 키워드 이해하기) 메소드 정의하는 방법 생성자 정의하는 방법 this 키워드 이해하기 과제 int 값을 가지고 있는 이진 트리를 나타내는 Node 라는 클래스를 정의하세요. int value, Node left, right를 가지고 있어야 합니다. BinrayTree라는 클래스를 정의하고 주어진 노드를 기준으로 출력하는 bfs(Node node)와 dfs(Node node) 메소드를 구현하세요. DFS는 왼쪽, 루트, 오른쪽 순으로 순회하세요. 클래스 정의하는 방법 필드 : 객체지향 개념에서 속성에 해당하는 것으로 멤버 변수라고도 한다./* 한정자 / 자료형 / 변수명 */ private String n..

Programming/Java 2021.10.29

[백준] 팩토리얼

1. 재귀함수란? : 함수 내에서 자기 자신을(함수)를 계속적으로 호출하는 방식. 함수가 콜 되면서 최근에 자신을 부른 원래 함수가 스택에 차곡차곡 쌓이게 됨. 중요한건 처음 불려진 함수에서(스택 맨 밑에있는 메소드) return 되는 값이 최종 return 값이 된다. 2. 팩토리얼(Factorial) : 1부터 특정 정수까지의 곱한 수 3. 재귀함수를 통한 팩토리얼 풀이 package Weekly; import java.util.Scanner; public class Factorial { public static void main(String[] args) { Scanner input = new Scanner(System.in); int userInputNum = input.nextInt(); Sys..