Bootcamp

Bootcamp/Codestates Section 1

자료구조/알고리즘 - 재귀호출(Recursive Call) // Python

재귀(Recursive) / 재귀호출(Recursive Call) 재귀호출 : 함수 안에서 함수 자기자신을 호출하는 방식 일반적인 상황에서 잘 사용되지 않지만, 알고리즘을 구현할 때 유용하게 사용됨 반복문보다 재귀호출이 직관적이고 이해하기 편한 경우가 존재함 반복되는 호출을 중단할 수 있는 종료 조건이 필요함 -> 그렇지 않을시 RecursionError 발생 재귀의 장점 불필요하게 다중 반복문을 사용하지 않을 수 있기 때문에, 코드 수정에 용이하고 이해하기 편함 변수를 여러 개 사용하지 않아도 됨 재귀의 단점 반복문과 비교하여 코드의 흐름을 직관적으로 파악하기 어려움 반복적으로 재귀호출이 일어날 때 지역변수, 매개변수, 반환값을 모두 stack에 저장되어 반복문보다 메모리를 더 많이 사용됨 복귀할 때 ..

Bootcamp/Codestates Section 1

Java 컬렉션 - 예외 처리

예외 처리(Exception Handling) 예외 처리 : 예기치 않게 발생하는 에러에 대응할 수 있는 코드를 미리 사전에 작성하여 비정상적인 종료 방지, 정상적인 실행 상태 유지 일반 예외 클래스(Exception) : 런타임시 발생하는 RuntimeException 클래스와 그 하위 클래스를 제외한 모든 Exception 클래스와 그 하위 클래스들을 가리킴, 주로 잘못된 클래스명, 데이터 형식등 사용자의 실수로 발생하는 경우가 많음 - Checked Exception 실행 예외 클래스 (Runtime Exception) : RuntimeException 클래스와 그 하위 클래스를 지칭, 주로 자바 문법 요소와 관련이 있음. Unchecked Exception Try - Catch - Finally ..

Bootcamp/Codestates Section 1

Java 컬렉션 - 제네릭

제네릭(Generic) 제네릭 : 사전적 - 일반적인 자바 - 타입을 구체적으로 지정하는 것이 아니라, 추후에 지정할 수 있도록 일반화해두는 것 클래스와 메서드에서 사용 가능함. class Basket { private String item; Basket(String item) { this.item = item; } public String getItem() { return item; } public void setItem(String item) { this.item = item; } } // 제네릭 사용 class Basket {// 제네릭 클래스 private T item; public Basket(T item) { this.item = item; } public T getItem() { return..

Bootcamp/Codestates Section 1

Java 컬렉션 - 열거형

열거형(enum) 열거형 : 여러 상수들을 보다 편리하게 선언할 수 있도록 만들어진 자바의 문법 요소 상수 : 변하지 않는 값, final을 사용하여 선언 -> 열거형은 이런 상수들을 보다 간편하게 관리할 때 유용하게 사용됨, 주로 몇 가지로 한정된 변하지 않는 데이터를 다루는데 사용 이전의 상수 정의 방식 public static final int SPRING = 1; public static final int SUMMER = 2; public static final int FALL = 3; public static final int WINTER = 4; 인터페이스를 사용한 상수 선언 -> 타입 안정성에 문제가 생기는 방식 interface Seasons { int SPRING = 1, SUMMER =..

Bootcamp/Codestates Section 1

Java - 객체지향 프로그래밍(OOP) 기초

객체지향 프로그램이란? 객체지향 프로그래밍은 데이터와 절차를 하나의 '객체'로 묶어서 생각하는 것 Class - Objects Class 청사진과 같은 역할, 클래스를 통해 생성된 객체를 클래스의 인스턴스(instance)라고 부름 public class Main { int x = 5; public static void main(String[] args) { Main myObj1 = new Main(); // Object 1 Main myObj2 = new Main(); // Object 2 myOBj2.x = 25;//modify System.out.println(myObj1.x);// Outputs : 5 System.out.println(myObj2.x);// Outputs : 25 } } 이런 식..

Bootcamp/Codestates Section 1

Java - 반복문, 배열

반복문 for String[] numbers = {"one", "two", "three"}; for(int i=0; i 배열의 크기보다 큰 크기의 값을 얻거나 넣으려고 할 때 2차원 배열 int[][] kcal; kcal = new int[31][3]; int[][] kcal = new int[31][3]; 배열 탐색 int[] scores = { 100, 90, 90, 100, 100 }; int sum = 0; for (int i = 0; i < scores.length; i++) { sum += scores[i]; } System.out.println(sum); //480

Bootcamp/Codestates Section 1

Java - 연산자, 콘솔 입출력(I/O), 제어문 - 조건문

연산자 산술 연산자 연산자 기능 예시(int) 결과값 + (sum) 더한 값 6 + 4 10 - (sub) 뺀 값 6 - 4 2 * (mul) 곱한 값 6 * 4 24 / (div) 나눈 값 6 / 4 1 % (mod) 나머지, modulo 6 % 4 2 증감 연산자 num1++; // num1 = num1 + 1; ++num1; // num1 = num1 + 1; num1--; // num1 = num1 - 1; num1--; // num1 = num1 - 1; 복합 대입 연산자 num1 += 2; // if num1 = 10 -> num1 = 12 num1 -= 2; // if num1 = 10 -> num1 = 8 대소 비교 연산자 대소 비교 연산자 결과 6 > 4 true 6 2 true 2 >=..

Bootcamp/Codestates Section 1

Java - Java의 특징, JVM&JDK, 변수, 리터럴, 타입, 문자열

Java의 특징 C, C++ 등과 같이 특정 OS에 따라 다르게 작성해야하는 문제를 해결하고자 JRE(Java Runtime Environment : JVM(Java Virtual Machine) + 표준 클래시 라이브러리)를 개발하여 모든 운영체제에서 같은 코드로 실행할 수 있음 객체 지향 언어(OOP), 객체지향적으로 설계된 프로그램은 유지보수가 쉽고 확장성이 높음 람다식, 스트림 지원 자동 메모리 관리(Garbage Collection) JVM Java는 컴파일러(Compiler)를 통해 기계어(Machine Language)로 변환되는 언어 컴파일 : JVM이 이해할 수 있는 코드로 변환 Java는 JVM을 걸쳐서 실행되기 때문에 타 언어에 비해 실행 속도는 느린편이다. JDK JRE(Java R..

AidenYoun
'Bootcamp' 카테고리의 글 목록