본문 바로가기

Archived(CSE Programming)

(169)
Java_예외처리 # 예외처리 Soft한 에러 -> Exception 예외를 만났을 때, 처리를 하는 방법에 대해서만 이해하기 미리 다 예측해서 대응하기는 불가능하다 Object -> Throwable -> Exception, Error Excetion 클래스는 다시 구분 Compile Exception / Runtime Exception 이러한 예외들을 대처하는 것이 예외처리 # TCF, TF Try: 예외발생 코드 Catch: 예외 발생 후에 해야하는 작업들 Finally: 반드시 실행되는 코드(Finally 내부에 Try~Catch 쓸 수 있음) (Try~Catch 외에 Try~Finally도 있음, Try~Finally는 throws 예외를 던질 때 사용) > 계속 던지더라도 Catch를 통해서 결국에는 처리를 해..
Java_다형성과 컬렉션 # 다형성 객체의 다형성 - 상속 타입에서 부모의 타입으로 자식의 인스턴스를 담을 수 있도록 하기 메소드의 다형성 - 상속 관계에서 오버로딩이 아닌, 오버라이딩을 메소드의 다형성으로 보기(재정의) 매개변수의 다형성 - 메소드 호출 시 매개변수 타입으로 부모 타입으로 지정해서 자식 타입으로 처리할 수 있도록 하기 # 추상화 추상화를 정리하기 위해서는 추상 클래스, 인터페이스에 대해서 이해하기 (차이점 - 추상클래스는 객체들의 공통점을 찾아 추상화시키는 것 / 인터페이스는 객체들의 공통 동작을 강제하는 것) abstract 통해 추상메소드 마킹 인터페이스는 약속이다 ex) 우리가 빔프로젝트한테 리모콘이라는 약속을 통해 동작을 강제할 수 있다 인터페이스는 상수와 추상메소드만 가질 수 있다(보통 상수는 잘 안씀..
Java_OOP와 다형성 # OOP 은닉화, 상속, 다형성, 추상화 cf) 개발방법론 : scrum, CBD, agile, waterfall, ... # 상속 - 어떤 Class 설계할 때 마다 A~Z 구현, But 상속이 있다면 손쉬운 확장 공통의 특징을 상위 class로 올리고 필요한 class에서 상속받기 (네트워크에서는 상속의 개념을 활용하지 않는다) 지역변수 / 전역변수 클래스 변수 / 멤버 변수 # 상속 - 객체의 다형성, 메서드의 다형성, 매개변수의 다형성 (byte, short, int, long / float, double / char / String / boolean) java 와 같은 컴파일 언어는 타입점검이 중요! (정수형 상수는 int, 실수형 상수는 double) ex) 12.235f int형은 char..
Java_자바의 기본 # Java(OOP) > 유지보수의 효율성 은닉화(Encapsulation) 객체의 탈 자체를 숨기고 다형성 구현 상속(Inheritance) 다형성(Polymorphism) 추상화(Abstraction # 업무 개발환경 세팅 -> JDK 1.6 ~ 1.7 JDK 내부의 JRE 라는 실행환경 존재 # OOP에 대하여 핵심은 클래스는 인스턴스가 아니다 클래스에 선언된 변수와 메서드는 인스턴스 소유이다 유저 인터페이스 / 비즈니스 로직, 데이터 처리부 등 개발은 class를 만드는 것이고 다음의 레이어들을 구분하여 설계 및 구현한다. 유저를 위한 프리젠테이션 레이어, 제어를 위한 컨트롤 레이어, 처리를 위한 비즈니스 레이어, 데이터 영속성을 관리할 수 있는 퍼시스턴스 레이어, 데이터를 표현하는 실질적인 비즈..
프로그래머스 큰 수 만들기 문제 : https://programmers.co.kr/learn/courses/30/lessons/42883?language=java 코딩테스트 연습 - 큰 수 만들기 | 프로그래머스 programmers.co.kr 해당 문제는 Java의 StringBuilder를 활용하여 풀 수 있었다. 가장 중요한 로직은 각 탐색 범위를 지정하는 것이다. 탐색 범위의 시작은 0(...전체길이 - k) 부터 시작한다. 그리고 실제 탐색은 이전에 선택한 idx 보다 큰 숫자부터 가능하다(고른 숫자의 오른쪽부터 고를 수 있으므로). 그래서 idx+1 ~ i+k 를 통해서 각 문자의 범위를 지정할 수 있고 이중 for문을 통해 이를 처리하여 구현할 수 있다. class Solution { public String solu..
프로그래머스 기능개발 문제 : https://programmers.co.kr/learn/courses/30/lessons/42586?language=java 코딩테스트 연습 - 기능개발 | 프로그래머스 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발될 수 있고, 이때 뒤에 있는 기능은 앞에 있는 기능이 배포될 때 함께 배포됩니다. 먼저 배포되어야 하는 순서대로 작업의 진도가 적힌 정수 배열 progresses와 각 작업의 개발 속도가 적힌 정수 배열 speeds가 주어질 때 각 배포마다 몇 programmers.co.kr 기본적으로 큐를 이용하면 쉽게 해결할 수 ..
프로그래머스 더 맵게 https://programmers.co.kr/learn/courses/30/lessons/42626 코딩테스트 연습 - 더 맵게 | 프로그래머스 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같이 특별한 방법으로 섞어 새로운 음식을 만듭니다. 섞은 음식의 스코빌 지수 = 가장 맵지 않은 음식의 스코빌 지수 + (두 번째로 맵지 않은 음식의 스코빌 지수 * 2) Leo는 모든 음식의 스코빌 지수가 K 이상이 될 때까지 반복하여 섞습니다. Leo가 가진 programmers.co.kr 해당 문제는 Heap 문제였다. 문제에서 주어진 조건 그대로 heap을 구성..
Chap 7. PL/SQL PL/SQL(Procedural Language)은 Orcale에서 제공하는 절차지향적인 SQL 언어이다. DECLARE 선언부, BEGIN 시작부, EXCEPTION 예외부, END 끝 등의 구조로 이루어져있다. 1. 선언부 DECLARE SECTION PL/SQL은 Oracle이 제공하는 SQL의 모든 데이타 형을 지원하며 아래 데이타 형들을 추가로 지원한다. BOOLEAN : BOOLEAN : True, False, Null BINARY_INTEGER (-2,147,483,647~+2,147,483,647) PLS_INTEGER (-2,147,483,647~+2,147,483,647) 두 INT 형은 NUMBER보다 작은 범위지만 메모리 적게 차지 2. CONTROL STATEMENTS 조건문(IF..