본문 바로가기

내일배움캠프/Today I Learned

(47)
[내배캠] 나의 스물세번째 회고록 프로그램 개발을 하다 보면 다양한 오류가 발생할 수 있다. Java에서는 오류가 발생하면 어떤 오류인지를 개발자에게 알려줘서 오류를 처리할 수 있도록 기능을 지원해 준다. ​Java에서의 예외는 크게 Error, RuntimeException, OtherException, 3가지의 종류가 존재한다. 이들에 대해서 알아보도록 하자. 먼저 Error이다. ​Error는 메모리 부족(OutOfMemoryError), 스택오버플로우(StackOverFlowError)처럼 자바 가상 기계(JVM)나 하드웨어 등 시스템의 문제로 발생하는 것을 의미한다. ​즉, 개발자가 처리할 수 있는 영역이 아니기 때문에 Error가 발생하면 프로그램을 종료시키는 것이 보통이다. ​ 다음으로 Exception이다. ​Error와 ..
[내배캠] 나의 스물두번째 회고록 2. 변수, 변수의 Type * 변수란? - 변수는 하나의 값을 저장할 수 있는 메모리 번지에 붙여진 이름이며, 변수를 통해 프로그램은 메모리 번지에 값을 저장하고 읽을 수 있다. * 변수 명명규칙 - 변수 이름은 첫번째 글자가 문자여야 하며, 중간부터는 문자, 숫자, $, _를 포함할 수 있다. - 첫번째 문자를 소문자로 시작하되 캐멀 스타일로 작성하는 것이 관례이다. * Camel스타일 - 코드를 작성할 때 여러단어를 혼합하여 명명하는 경우, 낙타의 등 처럼 대소문자가 섞여있도록 작성하는 스타일 - 자바 소스 파일명(클래스명)은 대문자로 시작하는 것이 관례 - 변수명은 소문자로 시작하는 것이 관례 * 변수의 선언 - 변수의 선언은 저장되는 값의 타입과 이름만 결정한 것 -> 메모리에 할당 된 것은 아..
[내배캠] 나의 스물한번째 회고록 1. 자바의 특징 4가지 - 추상화 : 데이터와 코드의 형태를 외부로부터 알수 없게 하고, 데이터의 구조와 역할, 기능을 하나의 캡슐 형태로 만드는 형태이다. - 캡슐화 : 데이터와 코드의 형태를 외부로부터 알 수 없게 하고, 데이터의 구조와 역할, 기느을 하나의 캡슐 형태로 만드는 방법 - 상속 : 부모 클래스에 정의된 변수 및 메서드를 자식 클래스에서 상속받아 사용하는 것 - 다형성 : 메세지에 의해 객체가 연산을 수행하게 도리 대, 하나의 메세지에 대해 각 객체가 가지고 있는 고유한 방법으로 응답할 수 있는 능력 (1) 추상화 Abstraction 추상화란 객체들의 공통적인 특징을 뽑아내는 것이다 -> 이는 구현하는 객체들이 가진 공통적인 데이터와 기능을 도출해 내는 것을 의미함 (2) 캡슐화 En..
[내배캠] 나의 스무번째 회고록 Regular Expression 정규표현식 Regular Expression는 문자열에서 어떤 문자가 특별한 의미를 갖는 것을 말한다. 예를 들어, \d는 0에서 9사이의 숫자를 의미하게 된다. Regular ExpressionDescription . 어떤 문자 1개를 의미 ^regex ^ 다음 regex로 line을 시작하는지 regex$ $ 앞의 regex가 line의 마지막으로 끝나는지 [abc] a, b, c 중의 문자 1개 [abc][vz] a, b, c 중에 문자 1개와 v, z 중에 문자 1개의 조합 [^abc] a, b, c를 제외한 문자 1개 [a-d1-7] ad, 17 사이의 문자 1개 X|Z X 또는 Z \d 0~9 사이의 숫자, [0-9]와 동일 \D 숫자가 아닌 어떤 문자, [^..
[내배캠] 열아홉번째 회고록 Chapter 1. JVM 구조, 메모리와 코드의 흐름 1. 자바언어의 특징 4가지 (1) 모든 운영체제에서 실행이 가능하다. (2) 객체 지향 프로그래밍이다. (3) 메모리 자동 정리가 가능하다 -> 가비지 컬렉터가 메모리 정리 해줌 (4) 무료로 사용가능한 라이브러리가 풍부하다 2. JDK(Java Development ToolKits)란 무엇인가? - 자바 개발 키트 - JDK : Java Development ToolKits + JRE - JDK는 개발자들이 JVM과 JRE에 의해 실행되고 구동될 수 있는 자바 프로그램을 생성할 수 있게 해준다. - JDK는 자바 기반 소프트웨어를 개발하기 위한 도구들로 이루어진 패키지 - 자바 프로그램을 구동하는 것이 자바 프로그램 개발의 일부분이기 때문에 JD..
[내배캠] 열여덟번째 회고록 ■ 문제 문자열 my_str과 n이 매개변수로 주어질 때, my_str을 길이 n씩 잘라서 저장한 배열을 return하도록 solution 함수를 완성해주세요. 답안 예시 : "abc1Addfggg4556b" 를 길이 6씩 잘라 배열에 저장한 ["abc1Ad", "dfggg4", "556b"]를 return해야 합니다. class Solution { public String[] solution(String my_str, int n) { int len = (int)Math.ceil((double)my_str.length()/n); String[] result = new String[len]; result = my_str.split("(?
[내배캠] 열일곱번째 회고록 5racle 5조 : 호텔 예약 프로그램 회고(KPT) Keep 모르는 부분들을 끝까지 해결하고자 하는 자세가 좋았다고 생각합니다. 처음 시작할 때 설계에 많은 시간을 투자한 것이 잘 했다고 생각합니다. 원할한 의사소통으로 프로젝트를 아주 분위기 좋게 진행한 점이 좋았습니다. class 명과 변수 등을 다같이 미리 정해서, 좀 더 원활한 진행이 되었습니다. 특히 미리 구조를 miro로 정리한 것은 전체적인 틀을 한눈에 볼 수 있어서 좋았습니다. intelliJ의 Code With Me 활용으로 피드백 시간을 단축한 것이 매우 효율적이었다고 생각합니다. 잘 모르는 부분을 화면공유하면서 서로 알려주려고 한 부분이 좋았습니다. Problem 코드를 짤 때 기초문법에서 실수가 많이 일어나서 개인적으로 조금 부끄..
[내배캠] 나의 열여섯번째 회고록 반복된 훈련으로 맷집을 키우자 알고리즘은 매일매일 꾸준하게 풀면서 깊이를 키워야 한다고 느꼈다. 프로그래머스 문제들도 괜히 Lv0을 만들어 놓은게 아니구나 싶었다. Lv0에도 의도가 있다. 기본적인 수학적 사고를 넓혀주고, 문제의 의도를 파악할 수 있도록 훈련시켜 주는 것 같다. 오늘은 부족한 부분을 채우고자 열심히 Lv0문제를 풀었다. 이렇게 한 문제를 풀고 나서 스스로의 코드를 분석해보고 중요한게 뭔지 적어놓는 것이 내 자산으로 남는다고 생각한다. 📚오늘의 문제 : 문자열 뒤집기/배열자르기/정수의 합 ■ 문제 문자열 my_string이 매개변수로 주어집니다. my_string을 거꾸로 뒤집은 문자열을 return하도록 solution 함수를 완성해주세요. 답안 예시 : my_string = 'appl..