CS(27)
-
객체지향
객체지향이란 절차지향의 언어와는 달리 객체지향의 기본이라 할 수 있는 클래스로 구성되어 있으며 클래스 간의 다양한 관계를 이용하여 좀 더 직관적이고 쉬운 프로그램을 작성할 수 있다. 객체지향의 주요특징은 상속성 캡슐화 추상화 다형성 이다. 1. 상속성 상속이랑 상위클래스의 특징을 하위클래스가 물려받는 것으로 상속관계에 의해 클래스들이 계층 구조를 형성하는것을 말한다. 2.캡슐화 클래스의 내부 변수와 메소드를 하나로 패키징하는 개념이다. 객체의 응집도와 독립성을 높이면서 객체의 모듈화를 지향한다. 3.추상화 클래스를 정의할 때 불필요한 부분들을 생략하고 객체의 속성 중 중요한 것에만 중점을 두어 개략화 하는것을 말한다. 제어 추상화 -> 해당 메소드의 작동방식과 같은 내보 로직을 숨기는 것 데이터 추상화 ..
2023.01.04 -
JVM
Java Virtual Machine의 줄임말로 자바를 OS에 종속되지 않게 구동할수있는 자바의 가상화 머신이다. JVM의 메모리는 Method영역, Heap영역, Stack영역으로 나누어지는데 static으로 선언된 메소드는 Method영역에 생성된다.(static영역이라고도 부른다) static영역은 프로그램이 실행되는 동시에 메모리에 생성되므로 별도의 공간 할당 작업을 하지 않아도 된다. 자바 프로그램 실행 시 main메소드가 Static영역에 생성되지 않는다면 JVM이 프로그램을 실행하지 못한다 그래서 우리는 항상 자바프로그램을 실행할때 아래의 코드를 활용하여 메인 프로그램을 실행시킨다 public static void main(String args[]){ } 우리가 SpringBoot를 활용하여..
2023.01.04 -
DFS & BFS
오늘 유튜브에서 DFS와 BFS를 쉽게 설명하는 영상을 봐서 BFS와 DFS에 대한 포스팅을 하려고 한다 넷플릭스에서 한개의 드라마가 16화까지 나오면 한번에 끝까지 보는것을 DFS 여러개의 드라마를 1회씩 나올때마다 보는것을 BFS 아주 이해가 쉬웠다. 3이 우선 탐색(DFS) 과 너비 우선 탐색(BFS) 비교 출처 https://namu.wiki/w/BFS DFS(깊이우선탐색) BFS(너비우선탐색) 현재 정점에서 갈 수 있는 점들까지 들어가면서 탐색 현재 정점에 연결된 가까운 점들부터 탐색 스택 또는 재귀함수로 구현 큐를 이용해서 구현 💡DFS와 BFS의 시간복잡도 두 방식 모두 조건 내의 모든 노드를 검색한다는 점에서 시간 복잡도는 동일합니다. DFS와 BFS 둘 다 다음 노드가 방문하였는지를 확인..
2022.12.30 -
포인터(Pointer)
메모리는 "주소" 와 "값"으로 이루어져 있다. 쉽게 설명하자면 아파트 102동 802호는 "주소"이고 그곳에 살고있는 파지티브헌이라는 "값"이 살고있는것이다. 포인터는 "주소"를 가리키는 변수이다. 주소값의 이해 데이터의 주소값이란 해당 데이터가 저장된 메모리의 시작 주소를 의미합니다. C언어에서는 이러한 주소값을 1바이트 크기의 메모리 공간으로 나누어 표현합니다. 예를 들어, int형 데이터는 4바이트의 크기를 가지지만, int형 데이터의 주소값은 시작 주소 1바이트만을 가리킵니다. 포인터란? C언어에서 포인터(pointer)란 메모리의 주소값을 저장하는 변수이며, 포인터 변수라고도 부릅니다. char형 변수가 문자를 저장하고, int형 변수가 정수를 저장하는 것처럼 포인터는 주소값을 저장합니다. 예..
2022.12.29 -
의존성 주입(Dependency Injection)
외부로부터 메모리에 올라가있는 인스턴스의 레퍼런스를 인터페이스 타입의 파라미터로 의존관계를 설정하는것을 말한다. 스프링에선 IoC라는 용어만 가지고는 개념이 너무 추상적이라 그 핵심을 짚는 용어가 필요했는데, 이때 몇몇 사람들의 제안으로 만든 용어가 바로 DI인 것이다. 의존관계 주입 방법 필드를 이용한 의존관계 주입 (Field Injection) setter() 메서드를 이용한 의존관계 주입 (Setter Injection) 생성자를 이용한 의존관계 주입 (Constructor Injection) 더 자세한 내용은 여기 https://yaboong.github.io/spring/2019/08/29/why-field-injection-is-bad/
2022.12.28 -
추상화
추상화는 필요한 부분, 중요한 부분을 통합하여 하나로 만드는 것을 말합니다.
2022.12.28