전체 글 221

인터페이스 여러가지 요소와 인터페이스의 상속

인터페이스의 여러가지 요소. 추상 메서드 (Abstract Methods). 인터페이스는 하나 이상의 추상 메서드를 선언할 수 있습니다. 추상 메서드는 구현 내용이 없으며, 인터페이스를 구현하는 클래스에서 반드시 구현되어야 합니다. 예: void method1(); 상수 (Constants). 인터페이스는 상수를 선언할 수 있습니다. 상수는 public, static, final로 선언되어야 하며, 인터페이스를 구현하는 클래스에서 상수를 사용할 수 있습니다. 예: public static final int MAX_VALUE = 100; 디폴트 메서드 (Default Methods). Java 8부터 도입된 개념으로, 인터페이스에서 메서드의 기본 구현을 제공할 수 있습니다. 인터페이스를 구현하는 클래스에서..

BACKEND/JAVA 2023.06.09

인터페이스와 다형성(DAO) 활용하기

인터페이스(Interface). 인터페이스(Interface)는 객체 지향 프로그래밍에서 클래스나 다른 인터페이스와의 상호 작용을 정의하는 추상 형태의 구조입니다. 인터페이스는 메서드, 상수 또는 추상 메서드의 집합으로 구성됩니다. 클래스가 인터페이스를 구현하면, 해당 클래스는 인터페이스에서 정의된 메서드를 모두 구현해야 합니다. 인터페이스는 다음과 같은 특징을 가지고 있습니다: 추상화: 인터페이스는 실제 구현을 갖지 않는 추상적인 개념입니다. 인터페이스는 어떤 클래스가 가져야 하는 메서드와 상수의 목록을 정의하며, 해당 클래스는 인터페이스를 구현하여 이를 실제로 구현해야 합니다. 다중 상속: 클래스는 하나의 클래스만 상속받을 수 있지만, 인터페이스는 여러 개의 인터페이스를 구현할 수 있습니다. 이를 통..

BACKEND/JAVA 2023.06.09

상속과 추상 클래스, 템플릿 메서드 패턴

추상 클래스란? 추상 클래스 (Abstract Class)는 하나 이상의 추상 메서드를 포함하는 클래스입니다. 추상 메서드는 선언만 있고 구현이 없는 메서드를 의미합니다. 추상 클래스는 직접적으로 객체를 생성할 수 없으며, 상속을 통해 하위 클래스에서 구체적인 구현을 제공해야 합니다. - 추상 메서드를 통해 하위 클래스가 반드시 구현해야 할 동작을 정의합니다. - 추상 메서드는 상속받은 클래스에서 반드시 구현되어야 합니다. - 공통된 특성이나 동작을 가지는 클래스들의 공통 부분을 추상화하여 코드의 재사용성을 높입니다. - 추상 클래스는 abstract 키워드를 사용하여 선언합니다. - 추상 클래스 내에는 일반적인 멤버 변수, 메서드, 생성자 등이 포함될 수 있습니다. - 추상 클래스는 객체를 직접 생성할..

BACKEND/JAVA 2023.06.09

230608 STUDY LOG.

목표. CS 수강 + 정리 OOP 수강 + 정리 자료구조 정리 cs 10문제 풀기 주간 코테 응시 블로그 과제 작성 진행 및 완료. [CS] 운영체제와 프로세스 동작 정리 까지 수강 및 정리 프로세스 구조와 콘텍스트 스위치 이해하기 멀티 프로세서의 프로세스 커뮤니케이션(IPC) 이해 [JAVA] 인터페이스 까지 수강 및 정리 상속과 상속에서 클래스 생성 과정과 형 변환. 상속과 메서드 오버라이딩, 가상 메서드 원리 [자료구조/알고리즘] 검색 알고리즘 검색 알고리즘과 선형 검색, 이진 검색 [과제 및 미션 현황] 컴퓨터 공학 퀴즈 - 10문제 응시완료 주간 코딩테스트 응시완료 블로그 과제 작성 완료 백엔드 신입 개발자가 쌓아야 하는 역량은 무엇일까요? 오늘 후기. 어제 저녁에 야근이랑 겹쳐서 공부많이 못해..

STUDY LOG 2023.06.09

검색 알고리즘과 선형 검색, 이진 검색

데이터 집합에서 원하는 값을 가진 요소를 찾아내는 검색 알고리즘을 알아보자. 검색 알고리즘이란? 검색 알고리즘은 주어진 데이터 집합에서 특정 값을 찾는 과정을 수행하는 알고리즘입니다. 일반적으로 데이터가 정렬되어 있는 경우와 그렇지 않은 경우에 따라 다른 알고리즘이 사용됩니다. 검색 알고리즘은 다양한 방법으로 구현될 수 있으며, 효율성과 정확성을 고려하여 선택됩니다. 일반적으로 사용되는 검색 알고리즘으로는 선형 검색(Linear Search), 이진 검색(Binary Search), 해시 검색(Hash Search) 등이 있습니다. 선형 검색(Linear Search): 데이터를 처음부터 끝까지 순차적으로 탐색하여 원하는 값을 찾는 알고리즘입니다. 데이터가 정렬되어 있지 않은 경우에도 사용할 수 있지만,..

상속과 메서드 오버라이딩, 가상 메서드 원리

하위 클래스에서 상위 클래스 메서드 재정의 하기. 오버라이딩. 상위 클래스에 정의된 메서드의 구현 내용이 하위 클래스에서 구현할 내용과 맞지 않을 때 하위 클래스에서 동일한 이름의 메서드를 재정의 할 수 있다. @overriding 애노테이션을 붙이면 재정의 된 메서드라는 의미로 선언부가 기존의 메서드와 다른 경우 에러가 난다. class Animal { public void sound() { System.out.println("동물이 소리를 낸다."); } } class Cat extends Animal { @Override public void sound() { System.out.println("야옹~"); } } class Dog extends Animal { @Override public voi..

BACKEND/JAVA 2023.06.08

상속과 상속에서 클래스 생성 과정과 형 변환.

상속이란. 객체 지향 프로그래밍의 중요한 특징 중 하나는 상속이다. 상속은 우리가 일반 적으로 알고있듯 물려받는다는 의미이다. 부모에게서 재산을 상속 받듯이 객체 지향 프로그래밍에서도 새로운 클래스를 정의할 때 이미 구현된 클래스를 상속(inheritance) 받아서 속성이나 기능을 확장하여 클래스를 구현하는 것이다. 이미 구현된 클래스 보다 더 구체적인 기능을 가진 클래스를 구현해야 할 때 기존 클래스를 상속한다. 하위 클래스 -> 상위 클래스 방향으로 화살표를 그려줘야 한다. 부모 클래스 -> 자식 클래스 방향이 아니다! 상속하는 클래스 : 상위 클래스, parent class, base class, super class 상속받는 클래스 : 하위 클래스, child class, derived clas..

BACKEND/JAVA 2023.06.08

백엔드 신입 개발자가 쌓아야 하는 역량은 무엇일까요?

시작하며. 백엔드 신입 개발자가 되기로 결심하고 약 3개월에 접어든다. 첫 달은 일하면서 수강가능한 교육과정을 알아보며 자바 기본 문법을 익혔고 제로베이스로 결정하고 부턴 망설임없이 커리큘럼에 충실하고 있다. 아무래도 사전 지식이 부족해 따라가기도 버겁지만 새로운 친구를 사귀는 마음으로, 연애하는 마음으로 임하고 있다. 제발 친해지자. 이번 주제에 대한 글을 작성하기 전 먼저 든 생각은 실무경험도 없는 내가 어떤 역량을 갖추겠다 라는 것보다 주니어 개발자 또는 신입 개발자에게 바라는 점은 무엇일까? 라는 생각이 먼저 들었다. 이에 여러 아티클과 블로그 글을 보며 공통된 또는 공감했던 것들을 추려 작성하고자 한다. 백엔드 신입 개발자가 쌓아야 하는 역량은 무엇일까요? 백엔드 개발자로서 갖춰야 할 기초와 관..

ABOUT IT & ESSAY 2023.06.08

멀티 프로세서의 프로세스 커뮤니케이션(IPC) 이해

프로세스 제어 블록. 프로세스 제어 블록(Process Control Block, PCB)은 운영체제가 각 프로세스를 관리하기 위해 유지하는 데이터 구조입니다. PCB는 프로세스에 대한 중요한 정보를 저장하고, 프로세스의 상태 및 동작을 제어하는 데 사용됩니다. 프로세스 식별자(Process ID). 각 프로세스를 식별하는 고유한 번호입니다. 프로세스 상태(Process State). 프로세스의 상태를 나타내며, 대기(waiting), 실행(running), 준비(ready), 종료(terminated) 등의 상태가 포함될 수 있습니다. 레지스터 상태(Register State). 프로세스가 실행될 때 레지스터에 저장되는 데이터를 포함합니다. 이는 프로그램 카운터(PC), 스택 포인터(SP), 누산기(a..

COMPUTER SCIENCE 2023.06.08

프로세스 구조와 콘텍스트 스위치 이해하기

프로세스 구조. - text(CODE): 코드 - data : 변수/초기화된 데이터 - stack : 임시 데이터(함수 호출, 로컬 변수 등) - heap : 코드에서 동적으로 만들어지는 데이터 PC와 SP. PC와 SP는 컴퓨터 아키텍처에서 중요한 개념입니다: PC (Program Counter): PC는 명령어의 실행 위치를 가리키는 레지스터입니다. CPU가 프로그램을 실행할 때, 다음으로 실행할 명령어의 주소를 PC에 저장하고, 명령어를 실행한 후 PC를 증가시켜 다음 명령어로 이동합니다. PC는 명령어의 흐름을 제어하며, 프로그램의 실행 순서를 결정합니다. SP (Stack Pointer): SP는 스택의 최상단을 가리키는 포인터입니다. 스택은 메모리의 일부분으로, 데이터를 임시로 저장하는 용도로..

COMPUTER SCIENCE 2023.06.08