분류 전체보기 562

[Java] 예외처리

오류 종류 1. 컴파일 에러 : 컴파일 시 발생하는 에러 컴파일러가 오타나 잘못된 구분, 자료형 체크 등의 기본적인 검사를 수행함 (소스코드의 기본적인 사항 점검) 그러나 실행 중 발생할 수 있는 잠재적인 오류는 잡아내지 못함. 2. 런타임 에러 : 실행 시 발생하는 에러 실행 중 무한 로딩에 걸린다던지, 갑자기 프로그램이 종료된다던지. 3. 논리적 에러 : 실행은 되지만, 의도와는 다르게 동작하는 에러 에러 발생 시, 프로그램의 비정상적인 종료를 막을 길은 없다. 하지만, 예외는 발생하더라도 비정상적인 종료를 막을 수 있다. 에러 : 프로그램 코드에 의해 수습될 수 없는 심각한 오류 예외 : 프로그램 코드에 의해 수습될 수 있는 다소 미약한 오류 예외처리하기 - try ~ catch 문 JVM의 예외처..

[Java] 추상클래스 및 인터페이스

1. 추상클래스 : 해당 클래스에는 추상 메서드가 있으니 상속을 통해 구현해주어야한다. 추상클래스는 미완성 설계도여서 인스턴스를 생성할 수 없다. 즉, 추상 클래스는 상속을 통해 자손클래스에 의해서만 완성될 수 있다. 선언부만 작성하고 구현부는 작성하지 않은채로 남겨둔 것이 추상 메서드. abstract class 클래스명{ ... } // 예시 abstract class Player{ abstract void play(int pos); abstract void stop(); } class AudioPlayer extends Player{ void play(int pos) { ... } void stop() {...} } abstract class AbstractPlayer extends Player{ ..

[Java] 패키지 및 import

1. 패키지 : 패키지는 클래스의 묶음이다. 클래스 또는 인터페이스를 포함시킬 수 있고 서로 관련된 클래스들끼리 그룹 단위로 묶어 놓음으로써 클래스를 효율적으로 관리할 수 있다. 예를 들어 java.lang.String 구문은 java.lang 패키지에 속한 String 클래스라는 의미이다. 정확히는 디렉토리 java의 서브 디렉토리 lang 안에 있는 String.class 파일이다. 2. 패키지 선언 package 패키지명; 3. import 문 : 사용하고자 하는 클래스의 패키지를 미리 명시해주면 패키지명 생략이 가능하다.

[Java] 자바 프로그램 실행 과정 및 동작 원리 (feat. JVM)

1. 컴파일이란? (Compile) : 컴파일은 사람이 이해할 수 있는 언어로 작성된 코드를 컴퓨터가 읽을 수 있는 언어(기계어)로 변환하는 과정을 의미한다. 컴파일의 목적은 코드의 구문과 의미를 확인(ex. 오류코드 확인) 하고 최적화를 수행하며 효율적이고 JVM에서 실행하기에 적합한 바이트코드를 생선한다. 컴파일은 Java 컴파일러(javac) 또는 통합 개발 환경(IDE)에서 수행한다. 2. .java 파일 vs .class 파일 (1) .java 파일 : Java 언어로 작성된 소스 코드 파일이다. 즉 컴파일 되기 전의 소스 파일 (2) .class 파일 : Java 컴파일러에 의해 생성된 컴파일된 바이트코드 파일이다. 자바 가상 머신(JVM)에서 이해하고 실행하는 바이트코드 명령이 포함되어 있다..

[주식 기초] 적정 주가 판단하는 방법

주식을 하기 위해 기업 분석, 산업 분석, 차트 분석을 시도하는 연습을 하고 있다. 그러나, 수익성이 좋고 성장 가능성이 있는 회사를 발견했음에도 불구하고 지금 현재 주가가 적정 주가인지 너무 고점은 아닌지 언제 매수를 해야 하는지에 대한 고민이 생기기 시작했다. 이왕이면 저점일 때 매수를 하는게 평단가를 낮추기에도 좋아서 이 부분에 대해 집중적으로 연구를 해보기로 결심했다. 일단 주가를 판별하기에 앞서 필요한 개념에 대해 짚고 넘어가야 한다. https://youtu.be/bE1iSUYA0KI 위 영상을 보면 나처럼 주린이들도 쉽게 이해할 수 있다. PER (Price Earning Ratio) , 주가수익비율 기업이 벌어들이는 돈 대비 주가의 가격을 어느정도 알 수 있다. 1주의 가격이 수익의 몇 배..

[Oracle] 조인에 대해 알아보자

조인 : 두 개 이상의 테이블을 가로로 연결하여 하나의 테이블처럼 출력할 때 사용하는 방식 참고로 집합 연산자는 SELECT문의 결과값을 세로로 연결한다. SELECT * FROM EMP, DEPT 만약 EMP 테이블에 15개의 행, DEPT 테이블에 4개의 행이 있다면 총 15*4=60개의 행이 조회된다. 하지만 위 출력값에는 문제가 있다. 사원 데이터와 부서 데이터가 정확하게 떨어지지 않는 데이터도 모두 출력되기 때문이다. 조인 할 때, WHERE절이 중요한 역할을 한다. SELECT * FROM EMP, DEPT WHERE EMP.DEPTNO=DEPT.DEPTNO 조인의 종류 1. 등가 조인(=내부조인, 단순조인) : 위에서 EMP, DEPT 테이블을 열 기준으로 조인했는데 이 방식이 바로 등가 조..

[Oracle] 오라클 함수에 대해 알아보자.

1. 내장 함수 - UPPER(문자열) : 모든 문자열을 대문자로 변환 - LOWER(문자열) : 모든 문자열을 소문자로 변환 - INITCAP(문자열) : 첫 글자는 대문자, 그 외 글자는 소문자로 변환 SELECT UPPER(ENAME), LOWER(ENAME), INITCAP(ENAME) FROM EMP * 사원 이름에 YEONY 단어를 포함한 데이터 찾기 SELECT * FROM EMP WHERE UPPER(ENAME) LIKE UPPER('%yeony%') - LENGTH(문자열) : 문자열 길이 반환 SELECT LENGTH('한글') FROM DUAL 이때 DUAL이란? : 최고 권한 관리자 계정인 SYS 소유의 테이블로 SCOTT 계정도 사용할 수 있는 더미테이블이다. 더미테이블을 사용하는..

[Oracle] SELECT문 WHERE절 활용

1. LIKE : 일부 문자열이 포함되어 있는 단어를 조회할 때 사용함 -- 1. 길이라는 단어가 포함되어 있는 데이터 조회 SELECT * FROM 사원테이블 WHERE 사원명 LIKE '%길%' -- 2. 길이라는 단어가 포함되지 않은 데이터만 조회 SELECT * FROM 사원테이블 WHERE 사원명 NOT LIKE '%길%' 2. 집합 연산자 (UNION) SELECT문 사이에 사용되며 합집합을 의미하는 연산자. 이떄, 각 SELECT 문이 출력하는 열의 개수와 열의 자료형이 순서별로 일치해야 한다. 출력 열의 개수가 다르거나 출력 열의 자료형이 다르면 에러가 뜬다. 만약 출력 열의 개수와 자료형은 같으나 필드명이 다른 경우에는 에러는 나지 않는다. 하지만 최종적으로 출력되는 열의 이름은 가장 처..

Servlet에 대해 알아보자

서블릿은 클라이언트(웹 브라우저)와 서버(웹 어플리케이션 == was) 간의 통신을 처리하고 동적인 웹 페이지 생성, 데이터베이스 연동 등의 기능을 수행함 즉 서블릿이란 자바 웹 어플리케이션에서 동적인 처리를 수행하는 자바 클래스이고 HTTP 요청과 응답 프로토콜을 다루기 위한 API를 제공한다. WAS 내에 서블릿 컨테이너가 있고 서블릿 객체를 자동으로 생성 및 호출, 생명주기까지 관리해준다. 서블릿 컨테이너란 톰캣처럼 서블릿을 지원하는 WAS 를 의미한다. WAS에서 서블릿 컨테이너를 통해 서블릿을 실행시키고 HTTP 요청을 처리한다. 즉 서블릿 컨테이너가 해당 요청을 처리할 서블릿을 찾아서 실행시킨다. 요새는 서블릿 대신 스프림 프레임워크를 사용하는데, 스프링 프레임워크는 서블릿을 기반으로 구현되어..