성장일기

내가 보려고 정리하는 공부기록

전체 글 171

[JAVA] 접근제한자, static과 final

자바로 클래스나 함수, 변수를 생성할 때 파이썬과 달리 이것저것 붙는 걸 알 수 있다.public class Test { static int A = 100; public static void main(String[] args) { System.out.println(A); }} 이런식으로 public, static 등 알 수 없는 것들이 써있는데, 오늘은 이것들을 정리해보려고 한다.  1. 접근제한자접근제한자는 이름에서도 알 수 있듯이 멤버의 접근을 제한하기 위해 사용한다. 접근제한자는 총 4가지가 있다.public : 외부 클래스에서도 자유롭게 사용할 수 있게 함protected : 같은 패키지 혹은 자식클래스 (상속하고있는 클래스)에서 사용할 수 있음default : 같은 패키지에..

언어/자바 2024.06.12

[코드트리] n x m 표 이동 5 (BFS) - JAVA

알고리즘 스터디 - BFShttps://www.codetree.ai/training-field/search/problems/move-n-x-m-table-5/description?page=1&pageSize=20&tags=BFS&order=tier 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.www.codetree.ai  # 문제 # 예제입력4 61 0 1 1 1 11 0 1 0 1 01 0 1 0 1 11 1 1 0 1 1 출력 :  (1, 1)에서 (n, m)까지 최소한의 횟수로 이동할 때 그 횟수를 출력합니다.15 # 필요개념 첫 위치에서 4개의 방향을 모두 보고, 움직여야..

[JAVA] 객체와 클래스

자바가 객체지향 언어라는건 자바에 관심이 있는 사람이라면 알고 있을 사실이다. 그렇다면 객체는 무엇일까 ? 1. 객체객체는 클래스에서 정의된 것을 기반으로 메모리에 할당된 것을 의미한다. 객체는 속성과 행위를 가지고, 우리는 객체의 속성을 필드, 행위를 메소드라고 부른다. 클래스를 통해 생성된 객체를 클래스의 인스턴스라고 한다. 여기서 인스턴스는 객체와 비슷한 의미를 가지는데, 객체는 모든 인스턴스를 포괄하고 인스턴스는 어떤 객체가 어느 클래스에서 생성된 건지 강조한다. 정리하면, 클래스를 new를 이용해 생성하여 메모리에 할당된 것을 객체라고 한다는 것이다.빵 틀이 클래스라면 그 틀로 구운 빵이 인스턴스인 셈이다.  객체 간의 관계객체는 개별로 사용될 수 있으나, 대부분 다른 객체와 관계를 맺고 있다...

언어/자바 2024.06.11

[JAVA] JAVA에 대하여 (JVM, javac)

자바 수업을 듣는 김에 자바에 관해 정리해두려고 한다. 앞으로 사용할 언어인 만큼 기본적인 것부터 꼼꼼히 기록하고싶다. 자바 (JAVA)자바는 1995년 썬 마이크로시스템즈의 제임스 고슬링(James Gosling)과 연구원들에 의해 개발한 개발된 객체지향 프로그래밍 언어로 전 세계적으로 다양한 분야에서 사용된다. 특징자바의 큰 특징들은 다음과 같다.1995년 개발된 객체지향 프로그래밍 (Object-Oriented Programming, OOP) 언어운영체제에 독립적소스 수정 안해도 윈도우, 리눅스 등 모든 운영체제에서 실행 가능개발자가 메모리 관리를 직접 하지 않아도 됨 가비지 컬렉터로 알아서 관리됨완전한 기계어가 아니라 바이트코드 파일(.class)로 구성된다.이를 사용하기 위해서는 자바가상기계 (..

언어/자바 2024.06.11

[코드트리] 연결된 칸 찾기 (DFS) - JAVA

알고리즘 스터디 - DFShttps://www.codetree.ai/training-field/search/problems/find-linked-cells/description?page=1&pageSize=20&tags=DFS&order=tier 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.www.codetree.ai  # 문제  # 예제입력 70 1 1 0 1 0 00 1 1 0 1 0 11 1 1 0 1 0 10 0 0 0 1 1 10 1 0 0 0 0 00 1 1 1 1 1 00 1 1 1 0 0 0 출력3789 # 필요개념 이 문제는 이차원 배열에서 어떤 칸의 위 아래 왼..

[코드트리] 연결된 그래프 2 (DFS) - JAVA

알고리즘 스터디 - DFShttps://www.codetree.ai/training-field/search/problems/connected-graph-2/description?page=1&pageSize=20&tags=DFS&order=tier 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.www.codetree.ai # 문제# 예제입력4 31 42 43 4 출력1 2 3 # 필요개념이 문제에서 요구하는 것은 가장 많은 정점으로 갈 수 있는 노드를 출력하는 것이다. 이는 dfs 연산의 횟수와 관련이 있는데, dfs가 일어날 때마다 카운트를 해주면 얼마나 많은 정점으로 이동할 수 ..

[백준] 1260 : DFS와 BFS (DFS, BFS 알고리즘) - JAVA

백준 알고리즘 분류 (깊이 우선 탐색)https://www.acmicpc.net/problem/1260  # 문제그래프를 DFS로 탐색한 결과와 BFS로 탐색한 결과를 출력하는 프로그램을 작성하시오. 단, 방문할 수 있는 정점이 여러 개인 경우에는 정점 번호가 작은 것을 먼저 방문하고, 더 이상 방문할 수 있는 점이 없는 경우 종료한다. 정점 번호는 1번부터 N번까지이다.  # 예제입력 :  첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사이에 여러 개의 간선이 있을 수 있다. 입력으로 주어지는 간선은 양방향이다.4 5 11 21..

마리아DB (7) _ 인덱스, 프로시저, 트리거

드디어 마리아DB 정리 마지막 게시글이다. 이번에는 인덱스와 프로시저, 트리거에 대해 정리해보려고 한다. 1. 인덱스 (index) 인덱스는 데이터베이스의 개체 중 하나로, 데이터를 빠르게 조회하기 위해 테이블의 열 단위로 생성되는 개체이다. 책에서의 책갈피와 비슷한 역할을 한다. 인덱스를 생성하면 테이블의 모든 데이터를 조회하는 것이 아니라, index를 생성한 열을 별도로 저장해 검색속도를 빠르게 한다. 잘만 사용하면 시스템 성능에 도움이 되지만, 그렇지 않다면 오히려 성능을 떨어뜨릴 수 있다.  인덱스의 종류인덱스는 크게 클러스터형 인덱스와 보조인덱스가 있다.클러스터형 인덱스기본키를 생각하면 된다. 기본키에 자동으로 클러스터형 인덱스가 생성된다.보조 인덱스보조인덱스는 별도 공간에 생성되는 인덱스이다..

마리아DB (6) _ 뷰(View)

이번 게시글에서는 뷰에 대해 다루어 볼 예정이다. 1. 뷰 (View) ?뷰는 쉽게 이야기 하면 가상의 테이블이라고 할 수 있다. 기존의 테이블 데이터 중 자주 쓰는 데이터를 뷰로 만들어 읽기 전용으로 많이 사용하고, 수정도 가능하다. 즉 필요한 부분만 가져와서 테이블처럼 만든 것이다. 간단하게 뷰의 장단점을 정리하면 다음과 같다.장점원하는 부분만 보기 좋게 가져올 수 있다데이터 관리에 용이하다단점인덱스를 구성할 수 없다삽입, 수정 등 연산에 제약이 있다.  ✅ 뷰의 DML (INSERT, UPDATE, DELETE) 조작이 불가능한 경우뷰 정의에 포함되지 않는 열을 조작하는 경우원본 테이블의 A,B,C,D 열 중 A,B열로 테이블을 구성했다면, C열의 조작이 불가능함 산술 표현법으로 정의된 경우그룹함수..

마리아DB (5) _ 테이블 생성, 수정, 삭제하기

이번 게시글에서는 테이블에 관한 전반적인 내용을 다루려고 한다. 목차는 다음과 같다테이블 생성 - CREATE테이블에 데이터 삽입하기 - INSERT삭제데이터 삭제하기 - DELETE테이블 삭제하기 - DROP수정데이터 수정하기 - UPDATE테이블 수정하기 - ALTER 이번 게시글에서는 다루는 대상이 무엇인지와 명령어를 잘 연결지어 이해해야한다. 예를 들어, 테이블을 수정하는 것과, 테이블 속 데이터를 수정하는 명령어는 엄연히 다르다는 걸 인지해야 한다는 것이다.  1. 테이블 생성하기 - CREATE DBMS에서 데이터를 다루기 위해서 가장 먼저 하는 일은 DB를 생성한 후, 관련된 테이블을 생성하는 것이다. 이 두 가지 모두 CREATE라는 명령어를 이용한다. 테이블을 생성할 땐 CREATE TA..

728x90