본문 바로가기

Server Programming/BackEnd Project

(21)
32일차 - 자바. lang 패키지 (+ String클래스의 compareToIgnoreCase, equalsIgnoreCase) Object 클래스 참조값만 비교 객체 자신과 파라미터로 전달된 객체를 비교 참조 값을 비교 equals() 메서드를 오버라이딩해서 객체의 값을 비교하는 것으로 변경한다. package ch13.objequals; public class ObjectEqualsTest { public static void main(String args[]) { Object obj1 = new Object(); Object obj2 = new Object(); if(obj1.equals(obj2)) { // obj1 == obj2 System.out.println("obj1.equals(obj2) -> true"); } else { System.out.println("obj1.equals(obj2) -> false"); }..
30일차 - 자바. 예외처리 예외처리 컴파일 에러 런타임 에러 예외는 처리 가능한 오류 의미적 제약을 위반했을 때 JVM이 프로그램에게 예외라는 에러가 발생했다고 알린다. 예외가 발생했을 때 프로그래머가 원하는 방향으로 움직이도록 하는 것을 예외처리라고 말한다. Exception 제어의 비지역 이동 자바에서 예외가 발생하면 JVM은 예외를 던지고, 발생 지점에서 프로그래머가 지정한 위치로 이동한다. 프로그램의 흐름을 문맥이라고 하는데 이러한 제어의 흐름을 주어진 문맥의 외부로 이동시키고, 미리 선언된 지점에서부터 수행 예외, 조건, Continuation은 비지역 제어 구문의 일반적인 예이다. Exception 처리 키워드 try catch finally throw throws 예외 처리 용도 정상 종료 예외 내용 보고 무시하고 계..
28일차- 자바. 인터페이스와 내부클래스 인터페이스 - 외부에 공개를 위한 스펙 명세 공통된 메서드를 가지는 클래스를 추상 메서드로 묶거나 관련없는 클래스들을 인터페이스 타입으로 묶기위해 사용한다. 표준화 가능 - 스펙을 정의하고 제시하므로 일관성있는 코드 가능 다중 상속 가능 협업이 쉬워지므로, 개발 시간 단축 느스한 결합이 가능 - 변경에 유연하다. (DIP : 의존성 역전 원칙) 서로 관계 없는 클래스 간의 관계를 맺을 수 있다. 다중의 인터페이스를 구현하게 되면 구현한 클래스는 참조변수를 인터페이스 타입으로 선언해 사용 가능 인터페이스의 작성 규칙 정적 상수와 추상 메서드만을 선언 가능하므로, 추성클래스와 같이 인스턴스 생성 불가 (예외 존재) Java 8 : default method, static method 선언 가능 Java 9 ..
18일차 - 자바 (6) 객체와 배열 1. 객체 참조 변수 - Memory 객체 참조값을 가지고 객체를 핸들링 다른 객체 참조값을 지정하면 새로운 인스턴스를 참조하게 된다. 먼저 null로 초기화 후, 새로운 인스턴스를 참조하도록 하는걸 권장한다. 하나의 인스턴스를 여러개의 참조변수가 참조할 수 있지만 하나의 참조변수가 여러개의 인스턴스를 참조할 수는 없다. 객체의 초기화와 메모리 할당 순서 선언된 상태에서는 메모리의 reference를 위한 공간만을 할당함 (스택 영역) new 연산자를 사용해야만 MyDate를 위한 공간이 할당됨 (힙 영역) 멤버들의 명시적인 초기화 생성자를 실행 변수에 Reference값 할당 String의 경우에는 String poll에 리터럴 형태로 저장된다. 따라서 같은 문자열의 경우 하나의 문자열 객체만을 가리킨..
17일차 - 자바 (5) 객체지향의 이해, 객체와 배열 1. 객체지향의 요소 클래스 객체 속성, 메서드, 생성자, 패키지 2. 객체지향의 특징 상속 하나의 클래스와 상속관계로 상위클래스의 필드와 메서드를 획득해서 재사용하는 것 다형성 상황에 따라 메서드의 성질을 변화시키는 것 추상화 객체들의 공통 특성을 파악하고, 불필요한 특성을 제거 단순화해 세부정보를 숨기고 기능을 표시한다. 캡슐화 내부 정의를 외부에 보이지 않도록 외부 접근을 차단한다. 높은 응집력과 약한 결합 응집도와 결합도 OOP 개발 및 유지 관리를 쉽게 도와준다. 데이터 숨김을 제공한다. 절차보다 데이터에 중점을 두어 프로그램을 객체로 나눈다. 3. 클래스와 객체 클래스와 객체의 관계 클래스는 설계도, 설계도를 이용해 만든 제품이 객체 클래스의 구성 요소 필드, 메서드, 생성자, 블럭, 중첩 클..
15일차 - 자바 (4) 제어문 (+ repeat(i)) 제어문 키워드 조건문 : if, switch 반복 제어문(loop문) : for, while, do-while 제어 키워드(jump문) : break, continue 조건문 1. if문 boolean타입을 리턴하는 조건문 Optional : 실행할 구문이 한 줄만 존재할 경우 '{}' 생략 가능 if문 안에 또 다른 if문을 중첩해서 사용 가능 비즈니스 코드의 경우엔 if문이 상당히 많이 반복되므로, 테스트 커버리지는 60~70만 통과해도 성공적인 테스트가 된다. if (조건식){ 실행 구문; } if (조건식){ 실행구문;//조건이true일때실행 } else{ 실행 구문; // 조건이 false이면 실행 } if (조건식1){ 실행 구문; // 조건식1이 true일 때 실행 } else if(조건식2..
13일차 - 자바를 통해 요구사항 구현하기 챕터1 # 02. 생활 속에서 객체 찾아 클래스로 구현해 보기 ## 객체를 찾아 봅시다 - 온라인 쇼핑몰에 회원 로그인을 하고 여러 판매자가 판매하고 있는 제품 중 하나를 골라 주문을 한다 - 아침에 회사에 가는 길에 별다방 커피숍에 들려 아이스 카페라떼를 주문했다 - 성적확인을 위해 학사 관리 시스템에 로그인 하여 수강 한 과목들의 성적을 확인했다 - 학생 클래스 ``` public class Student { int studentNumber; String studentName; int majorCode; String majorName; int grade; } ``` - 주문 클래스 ``` public class Order { int orderId; String buyerId; String seller..
12일차 - 자바 (3) 연산자 (+ Short-circuit) 연산자의 종류 instanceof 연산자 : 해당 객체의 타입 혹은 타입의 자손인지 여부를 리턴한다. (즉, 참조변수 형변환이 가능한지) -> 참조 변수 형변환 이전에 반드시 수행해야하는 연산자 연산자 우선순위 연산자 종류별 우선순위 : 괄호 > 산술 > 비교 > 논리 > 대입 연산자 개수별 우선순위 : 단항 > 이항 > 다항 모두 진행방향이 왼쪽에서 오른쪽 단항과 대입 연산자만 오른쪽에서 왼쪽 산술 연산자 이항 연산자인 산술 연산자 byte, short, char, int 자료형 사이의 연산은 int형으로 결과를 처리 long, float, double의 경우 큰 자료형의 결과로 처리 증감 연산자 증감이 수행을 먼저 하면 선증감 명령이 끝난 이후에 증감을 하면 후증감 비교 연산자 '=' : 값을 대입하..