취준

    Tree

    Tree

    트리 트리는 비선형 자료 구조로 원소들 간에 1: n 의 관계를 가진다 원소들 간에 계층 관계를 가지는 계층형 자료로, 상위 원소에서 하위 원소로 내려가면서 확당되는 트리(나무) 모양의 구조로 이루어진 유한 집합 노드 트리의 원소 트리는 한개 이상의 노드로 이루어진 유한 집합이며 다음 조건을 만족한다 노드 중 최상위 노드를 root 라고 한다 나머지 노드들은 n(≥0) 개의 분리집합으로 T1,...TN으로 분리될 수 있다. 이 T1,,,TN은 각각 하나의 트리가 되며(재귀적 정의) 루트의 부 트리(subtree) 라고 한다 용어정리 형제 노드 : 같은 부모 노드의 자식 노드들 조상 노드: 간선을 따라 루트 노드까지 이르는 경로이 있는 모든 노드들 서브트리: 부모 노드와 연결된 간선을 끊었을 때 생기는 트..

    List

    List

    리스트 순서를 가진 데이터 집합을 가리키는 추상자료형 (abstract data type) 으로, 동일한 데이터를 가지고 있어도 상관 없다. 리스트는 크게 두가지로 나뉘는데, 순차 리스트와 연결 리스트가 있다. 🤦🏻‍♀️ 순차 리스트 : 배열을 기반으로 구현된 리스트 연결 리스트 : 메모리의 동적할당을 기반으로 구현된 리스트 구현 방법 1차원 배열에 항복들을 순서대로 저장한다 데이터의 종류와 구조에 따라 구조화된 자료구조를 만들어 배열에 저장할 수도 있다 int [] L = {4,5,9,11 }; 데이터 접근 방법 배열의 인덱스를 이용해 원하는 위치의 데이터에 접근할 수 있다 int a = L [1]; //L =5 삽입 연산 삽입 위치 다음의 항목들을 뒤로 이동해야 한다 삭제 연산 삭제 위치 다음 항목들..

    QUEUE

    특성 스택과 마찬가지로 삽입과 삭제의 위치가 제한적인 자료구조 선입 선출 구조 (First In First Out) 큐에 삽입한 순서대로 원소가 저장되며, 가장 먼저 삽입된 원소가 가장 먼저 삭제됨 기본 연산 : enQueue, deQueue 주요 메서드: offer(), poll(), isEmpty(), size(), peek() 주로 LinkedList 클래스를 Queue 인터페이스의 구현체로 많이 사용한다 🤦🏻‍♀️ 큐 안에 아무것도 없을 떄, 스택과 마찬가지로 poll() : 삭제 - 를 불렀을 때, 예외 발생 처리가 없다 remove() : 삭제 - 를 불렀을 때, 예외가 발생한다 예시 import jvava.util.Queue; import java.util.LinkedList; public ..

    캡슐화

    캡슐화

    Encapsulation ( 캡슐화 ) 제한자 제한자 (modifier) 클래스, 변수, 메서드 선언부와 함꼐 사용되어 부가적인 의미를 부여 접근 제한자 : private, default(package), protected, public static : 클래스 레벨의 요소 설정 final : 요소를 더이상 수정할 수 없게 함 abstract: 추상 메서드 및 추상 클래스 작성 synchronized: 멀티 스레드에서의 동기화 처리 접근 제한자 public class Parent{ public int publicVar;protected int protectedVar;int defaultVar;private int privVar; public void useMember(){ this.publicVar=10;..

    다형성

    Polymorphism 정의 다형성이란 하나의 객체가 많은 형(타입)을 가질 수 있는 성질이다. 다형성은, 상속관계에 있을 때 조상클래스의 타입으로 자식 클래스 객체를 레퍼런스 할 수 있다. ex) 팥붕어빵 is a 붕어빵 | 슈크림붕어빵 is a 붕어빵 | 피자 붕어빵 is a 붕어빵 활용 다형성으로 다른 타입의 데이터를 하나의 배열로관리할 수 있다 public ArrayList(int initialCapacity){ if(initialCapcity>0){this.elementData = new Object [initialCapacity];} else if (initialCapacity ==0 ){this.elementData = EMPTY_ELEMENTDATA;} else{throw new Illeg..

    상속

    상속

    Inheritance (상속) 🤦🏻‍♀️ 상속의 관계는 is - a 관계이다 정의 상속은 기존 클래스의 자산 (맴버)를 자식 클래스에서 재사용 하기 위해 쓰인다. 현실에서와는 반대로, 부모가 자식에게 상속시켜주는 것이 아니라 자식이 부모님 클래스를 상속하는것이다 (불효자식) 기존 클래스의 맴버를 물려받기 때문에 코드를 절감할 수 있고 유지 보수가 편리하다 키워드 : extends public class 붕어빵틀 { String product_name; String fillings; int age ; //unit - min void coolDown(); void eaten (); } public class 붕어빵 extends 붕어빵틀{ boolean isCarp ; void curse() {} } 🧸상속..