1. 자바의 상속 이란? 객체 지향 프로그램에서 상속은 현실 세계 처럼 부모가 자식에게 물려주는 의미로 부모 클래스의 멤버나 메소드를 자식의 클래스에게 물려주는 것을 의미한다. 상속을 사용함으로 공통된 특징을 가지는 클래스에서 코드 중복을 줄여주고 부모 클래스의 멤버를 재사용 하면서 자식클래스의 간결함을 유지 시켜준다. 부모 클래스의 수정으로 모든 자식 클래스들의 수정 효과를 가져오기 때문에 유지 보수 시간이 감소한다. 공통적인 기능을 부모 클래스에 추가해주면 상속 받은 여러 개의 자식 클래스에서 사용이 가능하기 때문에 확장성이 용이하다. 클래스간의 계층적 분리를 도와줘 분류, 관리의 이점이 있다. 상속의 특징 자바에서 부모 클래스를 super class라 하고 자식 클래스를 sub class라고 한다...
[클래스 정의하는 법] 1) 클래스 정의 - 클래스 정의는 class라는 키워드를 사용한다. - 클래스가 다른 클래스를 상속하고 있을 경우 extends 키워드를 사용한다. - 만약 클래스가 하나 이상의 인터페이스를 구현 해야하는 경우 implements 키워드를 사용한다. 2) 선언 방법 // 1) 변수명 = new 클래스(); Product p; p = new Product(); // 2) 클래스 변수명 = new 클래스(); Product p = new Product(); 2) 클래스의 구성 멤버 - 필드(field): 객체의 데이터가 저장되는 곳이다. 선언 형태는 변수 선언과 비슷하지만, 변수는 생성자와 메소드 내에서만 사용되고 생성자와 메소드가 실행 종료되면 자동 소멸된다. 하지만 필드는 생성자..

Queue란? - FIFO(First In First Out)의 형태, 먼저 들어온 데이터가 가장 먼저 나가는 구조이다. - 큐는 한 쪽 끝은 front로 지정하여 삭제 연산만 수행 - 다른 한쪽 끝은 rear로 지정하여 삽입 연산만 수행 - Enqueue: 큐 맨 뒤에 데이터 추가 - Dequeue: 큐 맨 앞쪽의 데이터 삭제 Queue 구현 (1) Array // Array 로 queue 구현 하기 public class ArrayQueue { int[] elements; private int front = 0; private int rear = 0; private int size = 2; private int exSize =0; public ArrayQueue(){ elements = new int..
Linked List로 Stack 구현 실습 class ListNode { int data; ListNode next; public ListNode(int data, ListNode next) { this.data = data; this.next = next; } public ListNode(int data) { this.data = data; this.next = null; } ListNode add(ListNode head, ListNode nodeToAdd, int position) { if (head == null) { head = nodeToAdd; } else { ListNode node = head; for (int i = 0; i < position - 1; i++) { node = nod..

Stack 이란? - 상자에 물건을 쌓아 올리 듯이 데이터를 쌓는 자료구조이며, 삽입과 삭제를 리스트의 한쪽(top)에서 만 한다. - LIFO(Last In First Out) 구조 Stack 구현 package study; public class Stack { private int[] elements; private int top = 0; private int size = 2; /** * Stack 생성 * default size =16 */ public Stack(){ elements = new int[size]; } public Stack(int data){ elements = new int[size]; elements[top++] = data; } // push public void push(i..

LinkedList란? - 연결 리스트(LinkedList)는 각 노드가 데이터와 포인터를 가지고 한 줄로 연결되어 있는 방식의 자료구조이다. - 데이터를 담고 있는 노드들이 연결되어 있고, 노드의 포인터가 이전 노드와 다음 노드와의 연결을 담당한다. - Node는 LinkedList에 객체를 추가하거나 삭제하면 앞 뒤 링크만 변경되고 나머지 링크는 변경되지 않는다. - 중간에 데이터를 추가하거나 삭제하더라도 전체의 인덱스가 한 칸씩 뒤로 밀리거나 당겨지는 일이 없기 때문에 Array에 비해 데이터의 추가나 삭제가 용이하다. - 인덱스가 없기 때문에 특정 요소에 접근하려면 순차 탐색이 필요하기 때문에 탐색 속도가 떨어진다. 그러므로 탐색 또는 정렬을 자주하는 경우엔 배열을 사용하고, 데이터의 추가/삭제가..

JUnit5란? 자바 개발자가 많이 사용하는 테스팅 기반 프레임워크이다. JUnit은 자바 8 이상부터 사용 가능하며, JUnit Platform과 JUnit Jupiter, Junit Vintage 결합한 형태라고 볼 수 있다. (JUnit5 = JUnit Platform + JUnit Jupiter + Junit Vintage) - JUnit Platform: 테스트를 실행해 주는 런처와 TestEngine API를 제공한다. - Jupiter: TestEngine API 구현체로 JUnit5에서 제공한다. - Vintage: TestEngine API 구현체로 JUnit3, 4에서 제공한다. Write Test JUnit Annotation JUnit5 어노테이션 내용 JUnit4 어노테이션 @Te..

제어문(Control Statement) 코드가 위에서 아래로 순차적으로 실행되는 구문을 순차문이라고 한다. 모든 코드가 순차적으로 실행된다면 좋겠지만 실제로는 그렇지 않다. 제어문은 코드의 실행 흐름을 담당하는 구문으로 선택문, 반복문, 분기문으로 나뉜다. 선택문(Selection Statement) 1) if-then if(조건식) { // 한 줄일 경우 {} 생략 가능 ...조건이 참인 경우 실행되는 코드; } import java.util.Scanner; public class example { public static void main(String[] args) { int num; Scanner sc = new Scanner(System.in); System.out.println("type yo..
- Total
- Today
- Yesterday
- 이진탐색
- 네트워크
- https
- CS
- 코드업 기초
- CS.
- 자료구조
- 완전탐색
- SW
- 리스트함축
- 자바
- 스터디
- 자료구조와알고리즘 23강
- 정렬
- CS 스터디
- 리스트 복사
- 데이터베이스
- 프로그래머스강의
- 프로세스 주소공간
- It
- 알고리즘
- 프로그래머스
- 이차 리스트
- 리스트2
- Greedy sort
- 파이썬
- 보험
- 연결리스트활용
- 운영체제
- 리스트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |