2023년 상반기 이뤄낸 성과 중 가장 의미 있는 일이 아닌가 싶다.기사 시험은 필기/실기 나누어 이뤄지는데 연간 총 4회에 걸쳐 응시가 가능하다.
지난 3월 19일 SQLD 시험을 봤다.장소는 서울 서초구에 위치한 경원중학교, 사실 더 가까운 곳을 선택할 수도 있었지만 모바일로 접수하다보면 사진 등록이 잘 되지 않는 이슈가 있어서 늦게 신청했다.
막상 토익을 치고 나니, 대부분의 서류전형에 보이는 스피킹 능력..지난 일요일 시험을 부랴부랴 접수했지만, 그날은 오전에 SQLD 자격 시험도 있던터라 진짜 아무런 준비도 안되어 있는 채로 그냥 갔다.
대학을 다니는 동안, 수많은 버그와 오류를 해결하기 위해 구글링에 익숙해져있었다.문제를 해결할 수 있는 대부분의 글들은 영어로 쓰여있기 때문에 읽는 것에는 큰 어려움이 없었고,그래서 어학 자격증이 반드시 필요한가?에 대한 의문에 취득하지 않았다.
Comparator 혹은 Comparable을 구현한 클래스의 경우에는 내부적으로 구현된 정렬 알고리즘을 통해 수행되지만, 알고리즘 문제 풀이를 위해 직접 정렬 알고리즘을 구현해야하는 경우가 있다.
알고리즘 문제를 풀다보면 적절한 로직을 활용해서 Time Complexity를 만족해야하는 경우가 많다. >Time Complexity(시간복잡도) 최악의 경우 연산이 수행되는 시간을 나타내기 위해 Big-O로 나타내며, 이는 적어도 이만큼은 걸린다로 이해하면 된다
배열은 immutable하기 때문에 한번 선언된 크기를 변경할 수는 없다는 단점이 있다. 이러한 문제점을 해결하기 위해 Collection Framework을 통해 Java가 제공하는 자료구조를 사용한다.
앞서 실존하는 대상의 상태와 행위를 추상화하여 클래스로 나타낼 수 있다고 하였다.이러한 객체간의 협업(상호작용)을 통해 프로그래밍 하는 것을 객체지향 프로그래밍이라고 한다.OOP의 대표적인 특성은 4가지로 나타낼 수 있다.
프로그래밍 언어 Java하면 대표적인 특징으로 객체지향 프로그래밍 언어라고 알려져 있다.그렇다면 객체지향은 절차지향과 어떤 차이가 있을까?재사용성이 높고, 교체가 용이하며, 신뢰성이 높다.
동일 타입의 데이터 0개 이상을 하나의 연속된 메모리 공간에서 관리변수가 하나 둘 증가하다보면 관리적인 측면에서도 용이성이 떨어진다. 이를 해결하기 위해 배열이 존재한다.
앞서 자료를 변수에 담고, 값의 조작을 가하는 연산자에 대해 알아보았다. 그렇다면 이번에는 실제 프로그램의 동작에 있어서 흐름을 제어할 수 있는 방법에 대해 알아보자.
Backjoon Online Judge에는 문제를 단계별로 풀어볼 수 있다.각 단계별로 수록된 문제 수는 다르지만, 각 단계마다 기억해두어야할 점을 기록하고자 한다.
단순히 저장된 자료를 Retreive 하는 경우도 있으나,저장된 값을 변경하거나 비즈니스 로직에 의해 가공된 형태의 데이터를 필요로 하는 경우도 있을 것이다.
프로그램은 자료구조와 알고리즘의 결합이라고 불릴만큼 데이터를 다루는 행위가 주요 동작의 근간이 된다. 이러한 데이터를 저장하는 공간이 되는 변수를 알아보고자 한다.
자바의 특징을 한 문장으로 나타낸다면? 자바 IS OOP Language 라고 할 수 있을 것이다. 이외에도 플랫폼(OS)에 독립적이고, GC에 의한 자동 메모리 관리 등 다양한 특징들이 있다.