전체 글78 [Java] 자바의 예외와 예외처리 Throwable 클래스 Throwable 클래스는 모든 Error와 Exception의 최상위 클래스이다. 이 클래스의 대표적인 메서드 둘은 다음과 같다. public String getMessage(); public void printStackTrace(); Throwable의 하위 클래스인 Error와 Exception은 예외적인 상황이 발생했음을 나타내는데 사용되며, 예외적인 상황에서 이들의 인스턴스가 생성된다. Error와 Exception 오류(Error)와 예외(Exception)의 차이는 다음과 같다. 오류(Error)는 'IOError' 나 'VirtualMachineError' 같이 처리가 불가능한 심각한 문제를 의미한다. 개발자는 오류를 미리 예측하여 방지할 수 없다. 예외(Excet.. 2022. 8. 31. [Java] 인터페이스와 추상 클래스 인터페이스(Interface) interface Printable { void print(String doc); } 일반적으로 인터페이스는 위와 같이 생겼다. 위의 void print 같이 몸체가 비어있는 메서드를 추상 메서드(Abstract Method)라고 한다. 인터페이스를 대상으로 인스턴스 생성이 불가능하기 때문에 구현(Implementation)을 통해 사용할 수 있다. class Printer implements Printable { public void print(String doc) { @doSomething } } 아래는 인터페이스의 몇 가지 특징들이다. class Robot extends Machine implements Movable, Runnable { ... } 한 클래스에 둘 이.. 2022. 8. 31. [Python] return or / and 파이썬 코테 공부 중 return 에 and 나 or 을 쓸 수 있다는 사실을 알았다. def mergeTrees1(self, root1: Optional[TreeNode], root2: Optional[TreeNode]) -> Optional[TreeNode]: if root1 and root2: node = TreeNode(root1.val + root2.val) node.left = self.mergeTrees1(root1.left, root2.left) node.right = self.mergeTrees1(root1.right, root2.right) return node else: return root1 or root2 return A or B if x is false, then y, else .. 2022. 8. 30. [Java] 클래스의 상속 상속의 기본 기존 정의된 클래스에 메서드와 변수를 추가하여 새로운 클래스를 정의하는 것을 상속이라고 한다. 이때 기존 정의된 클래스를 부모 클래스(상위 클래스)라 하고, 부모 클래스를 상속해 새로 정의한 클래스를 자식 클래스(하위 클래스)라고 한다. 자식 클래스는 부모 클래스의 변수와 메서드를 가진다. class Man { String name; public Man(String name) { this.name = name; } } class BusinessMan extends Man { String company; String position; public BusinessMan(String name, String company, String position) { super(name); this.compa.. 2022. 8. 30. [Spring] @RequestParam vs @ModelAttribute vs @RequestBody @RequestParam, @ModelAttribute, @RequestBody 는 Spring에서 클라이언트 측에서 보낸 요청값을 객체나 변수로 바인딩 하기위해 사용되는 어노테이션들이다. @RequestParam @RequestParam은 Servlet request parameters를 method argument로 bind한다. 이때, Servlet request parameter는 query parameter 나 form data를 뜻한다. @RequestParam을 사용한 method argument는 기본적으로 required이지만, required=false를 선언하거나 argument를 Optional로 선언함으로써 선택적으로 사용할 수 있다. 타겟이 되는 method parameter가 .. 2022. 8. 1. [Network] CORS란? spring boot와 vue.js 를 사용한 게시판 만들기 토이 프로젝트를 진행하던 중, CORS 이슈를 확인했다. CORS 에 대한 개념이 전무하여 공부를 한 후 정리했다. 교차 출처 리소스 공유(Cross-Origin Resource Sharing, CORS) 교차 출처 리소스 공유(Cross-Origin Resource Sharing)는 추가 HTTP 헤더를 사용하여, 한 출처에서 실행 중인 웹 애플리케이션이 다른 출처의 선택한 자원에 접근할 수 있는 권한을 부여하도록 브라우저에 알려주는 체제이다. 보안 상의 이유로, 브라우저는 스크립트에서 시작한 교차 출처 HTTP 요청들을 제한한다. 동일 출처 정책(Same-Origin Policy)을 따르는 API(XMLHttpRequest, FetchAPI.. 2022. 7. 31. [JSP] Redirect(리다이렉트) vs Forward(포워드) Redirect(리다이렉트) 리다이렉트는 클라이언트에게 해당 URL로 재접속 하라고 하는 것이다. redirect의 순서는 다음과 같다. 1. 웹 컨테이너는 redirect 명령이 들어오면 웹 브라우저에게 다른 페이지로 이동하라고 response 한다. 2. 브라우저가 redirect에 대한 웹 컨테이너의 response를 받은 후 새로운 URL로 다시 request 한다. 3. 웹 컨테이너는 웹 브라우저에게 해당 URL로 response 한다. 새로운 페이지에서는 request와 response 객체가 새로 생성된다. 추가적으로 발생하는 처리에 의해 포워드보다 성능이 좋지 않다. Forward(포워드) 반면, 포워드는 웹 컨테이너 차원에서 페이지 이동만 있다. 웹 브라우저의 URL도 변경되지 않으므로 .. 2022. 7. 17. [JSP/Servlet] Servlet(서블릿)과 JSP servlet과 JSP를 알아보기 전에 서버 구조의 변화를 먼저 살펴보자. 서버 구조의 변화 WEB 서버 단일 구성 기본적인 홈페이지 구성으로, 정적인 페이지를 제공할 때 사용되는 서버 구성이다. 사용자가 요청하면 서버는 웹서버에 미리 올려둔 페이지를 넘겨준다. WEB-WAS 구성 동적인 페이지를 제공하기 위해 사용되는 서버 구성이다. WEB 서버는 연산이 필요없는 정적인 페이지는 자신이 처리하고, 연산이 필요할 경우 WAS에게 요청 객체를 넘겨 연산을 수행한 뒤 다시 결과를 받아 반환한다. 이때 WAS에서 연산을 담당하는 것이 서블릿이고 서블릿은 WAS 안에 있는 웹 컨테이너 또는 서블릿 컨테이너라고 불리는 공간에서 활용하게 된다. 웹 컨테이너(WEB Container) 웹 컨테이너 또는 서블릿 컨테이.. 2022. 7. 10. [Javascript] 자바스크립트의 객체 객체의 개념 객체란 key와 value로 구성된 프로퍼티(property)의 정렬되지 않은 집합이다. 프로퍼티의 값으로 함수가 올 수 있고, 이러한 프로퍼티를 메서드(method)라고 한다. var dog = { name : "깜장이", // 프로퍼티 age : 2, color : "검정색", info: function() { // 메서드 return `${this.name}는 ${this.age}살 ${this.color} 개입니다.`; } }; 객체의 생성 방법 객체의 생성 방법에는 크게 세 가지가 있다. 1. 객체 리터럴 방식 중괄호 안에 key:value 를 쉼표로 구분하여 생성한다. var dog = { name : "깜장이", // 프로퍼티 age : 2, color : "검정색", info:.. 2022. 6. 26. 이전 1 ··· 5 6 7 8 9 다음