728x90 java24 코드 스테이츠 - 재귀함수 재귀 함수란? 재귀 함수는 자기 자신을 호출하는 함수를 말한다. 재귀 함수를 잘 활용하면 반복 작업을 해야하는 문제를 좀 더 간결한 코드로 풀어낼 수 있다. 재귀 함수의 장점 불필요하게 여러 개의 반복문을 사용하지 않기 때문에, 코드가 간결해지고, 수정이 용이하다. 변수를 여러 개 사용할 필요가 없다. 재귀 함수의 단점 반복문과 달리, 코드의 흐름을 직관적으로 파악하기 어렵다. 반복하여 메서드를 호출하며 지역변수, 매개변수, 반환값을 모두 process stack에 저장하게 된다. 이러한 과정은 반복문에 비해서 메모리를 더 많이 사용하게 되어 많은 메모리를 사용하게 된다. 메서드를 호출하고 메서드가 종료된 이후에 복귀를 위한 컨텍스트 스위칭 비용이 발생하게 된다. 재귀 함수를 사용하기 위한 조건 문제의 .. 2023. 5. 10. 코드 스테이츠 - Section1 회고 Section1 마무리 KPT 회고 KPT를 기반으로 한 개인 회고 목표 상기하기 Keep, Problem 작성하기 Try 작성하기 우선순위 정하기 1. 목표 상기하기 현재 '내'가 학습을 통해 이루고자 하는 것은 무엇인가? 나는 개발자로서의 역량 발전을 목표로 학습을 진행하고 있다. 개발적 문제 해결능력, 협업 커뮤니케이션, 소통 등 개발자의 필요 역량을 발전시키기 위해 노력 중 이다. 2. Keep, Problem 작성하기 Keep은 만족스러운 부분, 계속 이어가면 좋을 부분이다. 반면 Problem은 목표를 이루는데 장애물이 되었거나, 개선이 필요하다고 생각되는 부분이다. Keep 자기주도 학습을 진행하면서, 혼자 학습할 때 이해하고 그냥 넘어가는게 아닌 블로그에 정리를 해가며 학습을 진행하는게 매.. 2023. 5. 9. 코드스테이츠 - Java 심화 (Effective)2 파일 입/출력 InputStream/OutputStream 자바에서는 입출력을 다루기 위한 InputStream, OutputStream을 제공한다. 스트림은 단방향으로만 데이터를 전송할 수 있기에, 입력과 출력을 동시에 처리하기 위해서는 각각의 스트림이 필요하다. 입출력 스트림은 어떤 대상을 다루느냐에 따라 종류가 나뉜다. 예를 들면, File을 다룰 때는 FileInputStream / FileOutputStream을 사용하고, 프로세스를 다룰 때는 PipedInputStream / PipedOutputStream을 사용한다. FileInputStream 터미널에 아래 명령어를 입력하면, code라는 문자열이 입력된 codestats.txt라는 파일을 생성한다. (실습할 코드와 같은 디렉토리에서 입력.. 2023. 5. 4. 코드 스테이츠 - Java 컬렉션(Collection) 열거형 (Enum) 열거형 이란? 서로 연관된 상수들의 집함을 의미한다. 상수란 변하지 않는 값을 의미하며 final 키워드를 사용하여 선언할 수있다. 열거형은 이러한 상수들을 보다 간편하게 관리할 때 유용하게 사용할 수 있는 자바의 문법 요소이며, 주로 몇가지로 한정된 변하지 않는 데이터를 다루는 데 사용한다. 자바에서 열거형은 여러 상수들을 보다 편리하게 선언하고 관리할 수 있게 하며, 상수 명의 중복을 피하고, 타입에 대한 안정성을 보장한다. 열거형을 사용할 때는 다음과 같이 코드 블록 안에 선언하고자 하는 상수의 이름을 나열하기만 하면된다. enum 열거형이름 { 상수명1, 상수명2, 상수명3, ...} 사계절을 예로 들어보자. enum을 사용하여 사계절을 상수로 정의하면 다음과 같다. enum .. 2023. 5. 1. 코드 스테이츠 4/24 - 객체지향 프로그래밍 기초 2 코드 스테이츠 10일차 생성자 생성자 객체를 생성하는 역할을 하는 클래스의 구성요소, 인스턴스가 생성될 때 호출되는 인스턴스 초기화 메서드 생성자와 메서드의 차이 생성자의 이름은 반드시 클래스의 이름과 같아야 합니다. 만약 클래스 이름과 생성자의 이름이 다르다면 그 메서드는 더 이상 생성자로서의 기능을 수행할 수 없습니다. 생성자는 리턴 타입이 없습니다. 하지만 메서드에서 리턴 값이 없을 때 표시하는 void 키워드를 사용하지 않습니다. 그 이유는 무언가를 ‘리턴하지 않는다’를 의미하는 void와는 다르게 생성자는 아예 리턴 타입 자체가 존재하지 않기 때문입니다. 두 가지 특징을 아래 예시를 통해 살펴봅시다. 클래스명(매개변수) { // 생성자 기본 구조 ...생략... } 먼저 클래스명과 같은 이름의 .. 2023. 4. 24. 코드 스테이츠 04/17 - Java 기초 1 코드스테이츠 5일차 자바의 특징 1. 운영체제에 독립적 자바 이전의 언어들은 특정 CPU에서만 작동하거나 특정 OS에 따라 다르게 작성해야 하는(C, C++) 언어들이 대부분이었다. 자바는 이 문제를 해결하고자 JRE(Java Runtime Environment: JVM(자바 가상머신) + 표준 클래스 라이브러리)가 설치되어 있는 모든 운영체제에서 실행이 가능하도록 만들어졌다. 2. 객체 지향 언어(Object Oriented Programming, OOP) 자바는 객체 지향 프로그래밍 개념을 사용하는 언어입니다. 따라서 모든 기능은 객체로 만들어 사용해야 합니다. 객체는 프로그램이 동작하는 부품이라고 생각하면 된다. 3. 함수형 프로그래밍 지원 자바 8버전부터 함수형 프로그래밍을 지원하는 문법인 람다식.. 2023. 4. 17. 이전 1 2 3 4 다음 728x90