백엔드 70

TIL 정리_10

프로그램 오류 컴파일 에러 : 컴파일 했을 때 에러 발생 런타임 에러 : 프로그램을 실행했을 때 에러 발생 논리적 에러 : 의도와 다르게 동작 java 런타입 에러 에러 : 프로그램 코드에 의해서 수습될 수 없는 심각한 오류 예외 : 프로그램 코드에 의해서 수습될 수 있는 미약한 오류 예외는 처리할 수 있음 예외처리의 정의와 목적 정의 프로그램 실행 시 발생할 수 있는 예외의 발생에 대비한 코드를 작성하는 것 목적 프로그램의 비정상 종료를 막고, 정상적인 실행상태를 유지하는 것 예외 클래스의 계층구조 Object Throwable Exception Error RuntimeException IOException OutOfMemoryError Exception -IOException, ClassNotFoun..

TIL 정리_09

객체지향 정리 마지막 다형성 여러가지 형태를 가질 수 있는 능력 하나의 배열에 여러종류의 객체 저장 조상 타입의 참조변수로 자손 타입의 객체를 다루는 것 참조변수가 사용할 수 있는 멤버의 개수는 인스턴스의 멤버개수보다 같거나 적어야 한다 참조변수 타입과 인스턴스 타입은 보통 일치하지만, 일치하지 않을수도 있다. 참조변수의 형변환 사용할 수 있는 멤버의 개수를 조절하는 것 조상 - 자손 관계의 참조변수는 서로 형변환이 가능하다 **참조변수가 가리키는 실제 인스턴스가 무엇인지가 중요(멤버 개수 확인) instanceof 연산자 참조변수의 형변환 가능여부 확인에 사용. 가능하면 true반환 형변환 전에 반드시 instanceof로 확인해야 함 주로 조건문에 사용한다 if(참조변수 instanceof 타입(클래..

TIL 정리_08

객체지향 III 상속 (Inheritance) 기존의 클래스로 새로운 클래스를 작성하는 것 (코드의 재사용) 두 클래스를 부모와 자식으로 관계를 맺어주는 것 자손은 조상의 모든 멤버를 상속받는다 (생성자, 초기화 블럭제외) 자손의 변경은 조상에 영향을 미치지 않는다. 자손의 멤버개수는 조상보다 적을 수 없다.(같거나 많다) 포함관계 포함(composite)이란? -클래스의 멤버로 참조변수를 선언하는 것 -작은 단위의 클래스를 만들고, 이들을 조합해서 클래스를 만든다. 클래스 간의 관계 결정하기 1. 상속관계 : ~은 ~이다 (~is a~) 2. 포함관계 : ~은 ~을 가지고 있다 (~has a~) //대부분의 경우는 포함관계이다 Point c = new Point(); 단일 상속 Java는 단일 상속만을..

TIL 정리_07

객체지향 II 참조형 반환타입 객제주소를 정수(int)타입으로 반환 객체주소를 줬기 때문에 객체를 다룰 수 있게 됨 "반환타입이 참조형이라는 것은 메서드가 객체의 주소를 반환한다는 것을 의미한다" 재귀호출 메서드가 자기 자신을 호출해서 일을 시키는 것 void method() { method(); //재귀호출 } 무한반복을 피하기 위해 조건문이 필수적으로 따라다닌다. 클래스 메서드와 인스턴스 메서드 : iv 사용여부로 구분 인스턴스 메서드 인스턴스 생성 후 '참조변수.메서드이름()'으로 호출 인스턴스 멤버(iv, im)와 관련된 작업을 하는 메서드 메서드 내에서 인스턴스 변수(iv) 사용가능 Static 메서드(클래스 메서드) 객체생성없이 '클래스이름.메서드이름()'으로 호출 인스턴스 멤버(iv, im)..

TIL 정리_06

객체지향 언어 객체지향이론의 기본 개념 : 실제 세계는 사물(객체)로 이루어져 있으며, 발생하는 모든 사건들은 사물간의 상호작용이다. 주요특징 1. 코드의 재사용성이 높다 ㄴ새로운 코드를 작성할 때 기존의 코드를 이용하여 쉽게 작성할 수 있다 2. 코드의 관리가 용이하다. ㄴ코드간의 관계를 이용해서 적은 노력으로 쉽게 코드를 변경할 수 있다. 3. 신뢰성이 높은 프로그래밍을 가능하게 한다.(규모가 큰 것도 OK) ㄴ제어자와 메서드를 이용해서 데이터를 보호하고 올바른 값을 유지하도록 하며, 코드의 중복을 제거하여 코드의 불일치로 인한 오동작을 방지할 수 있다 =>코드의 재사용성이 높고 유지보수가 용이하다 클래스 객체를 정의해 놓은 것이자 객체의 설계도 또는 틀이다. 클래스의 정의 : 객체를 정의해 놓은 것..

TIL 정리_05

배열 배열이란? 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것 예) int score1, score2, score; //일일이 선언하기 복잡하다 int[] score = new int[5]; //5개의 int 값을 저장할 수 있는 배열을 생성한다. 배열을 다루기 위한 참조변수가 필요하다 //저장공간 : 인덱스 배열의 저장공간은 연속적이다. 배열의 선언과 생성 배열의 선언 : 배열을 다루기 위한 참조변수의 선언 선언방법 선언 예시 타입[] 변수이름; int[] socre; String[] name; 타입 변수이름[]; int score[]; String name[]; 대괄호는 타입 뒤에 붙여도 되고, 변수이름 뒤에 붙여도 된다.(취향) 배열의 생성 : 타입[] 변수이름; //배열을 선언(참조변수 선언..

TIL 정리_04

조건문과 반복문 조건문 : 조건을 만족할때만 {}을 수행 (0~1번) 반복문 : 조건을 만족하는 동안 {}를 수행 (0~n번) 둘을 합해서 제어문 (flow control statement)이라고 한다 if문 조건식이 참(true)일 때, 괄호 {}안의 문장들을 수행한다. if (조건식) { //조건식이 참일 때 수행될 문장을 적는다 } ex) if(score > 60) { System.out.println("합격입니다"); } 조건식의 다양한 예 조건식 조건식이 참일 조건 90

TIL 정리_03

Chapter 3. 연산자 연산자 : 연산을 수행하는 기호 피연산자 : 연산자의 연산 수행 대상 >모든 연산자는 연산 결과를 반환한다 y = 4 * x + 3 System.out.println(y); 연산자의 종류 종류 연산자 설명 산술 연산자 + - * / % > 사칙연산(+-*/)과 나머지연산(%) 비교 연산자 > = 비교 > 논리 > 대입 순서이다 우선순위가 같은 연산자가 있을 때, 기본적으로 왼쪽->오른쪽 순서지만, 대입과 단항 연산자만 오른쪽에서 왼쪽으로 연산한다. 정리하자면 산술(+) > 비교(> 논리(&& ||) > 대입 단항(1) > 이항(2) / 삼항(3) 단항 연산자와 대입 연산자를 제외한 모든 연산의 진행방향을 왼쪽에서 오른쪽이다 (기본적으로 아는사실) 증감 연산자 증가 연산자(..

TIL 정리_02

printf(); 를 이용한 출력 기본 출력 : System.out.println(); printf(): > 같은 값이라도 다른 형식으로 출력가능 ex) 소수점 둘째자리까지만 출력하거나 정수를 16이나 8진수로 출력 System.out.printf("%.2f", 10./3); **지시자(specifier)를 통해 변수의 값을 여러 가지 형식으로 변환하여 출력가능 printf() 지시자 중에서 자주 사용되는 것 %b 불리언(boolean) 형식으로 출력 %d 10진(decimal) 정수의 형식으로 출력 %o 8진(octal) 정수의 형식으로 출력 %x %X 16진 정수의 형식으로 출력 (hexa-decimal) //정수 %f 부동 소수점(floating-point)의 형식으로 출력 %e %E 지수(expo..

TIL 정리 _01(Java)

자바의 정석 기초편 강의와 (링크 : https://www.youtube.com/playlist?list=PLW2UjW795-f6xWA2_MUhEVgPauhGl3xIp) 자바의 정석 3판을 참고하여 정리한 내용이다 이클립스 단축키 ctrl+shift+l 단축키 전체 목록 ctrl +, - 크기 조절 ctrl+alt+down(방향키) 행단위 복사 ctrl + d 한줄 삭제 alt+shift+a 멀티컬럼 편집 alt+up, down(방향키) 행단위 이동 ctrl+i 자동 들여쓰기 ctrl/ 주석(다량 가능) ctrl+space 자동완성 ctrl + F11 결과값 출력 +sysout = System.out.println(); 자동완성 챕터 1 변수의 선언 -값을 저장할 공간을 마련하기 위해 변수타입 변수이름;..