Java (11) 썸네일형 리스트형 Stack*Queue * Stack - LIFO - pop(), push(), peek(), isEmpty() Linked List * Linked List 개념 ◑ → ◑ → ◑ → ◑ → ◑ - 다음 주소를 가지고 있다.(Node단위) - 배열은 물리적으로 한곳으로 모여있고, 늘리거나 줄일 수 없다. - Linked List는 유동적으로 늘리거나 줄일 수 있다. - 배열보다 속도가 느리고, 삭제/추가가 가능하다. - 길이가 정해져있지 않은 데이터 모임. * 단방향/양방향 Linked List - ◑ → ◑ → ◑ → ◑ → ◑ [단방향] - 한 Node당, 앞뒤 주소를 다 가지고 있다. [양방향) * 단방향 Linked List 구현 * Linked List Node - Node class를 Linked List로 감싸서, Linked List의 헤더로 사용한다. * Linked List 중복값 삭제 - 정렬 X, Linked L.. 1. variable, 상수 1. 변수란 - 값을 저장할 수 있는 메모리상의 공간을 의미한다. - 하나의 변수에 단 하나의 값만 저장할 수 있으므로, 새로운 값을 저장하면 기존의 값은 사라진다. 2. 변수의 선언과 초기화 ==> int age; // 변수타입, 변수이름 - 메모리의 빈 공간에 변수타입에 알맞은 크기의 저장공간이 확보되고, 이 저장공간은 변수이름을 통해 사용할 수 있게 된다. - initialization 초기화 - 메모리는 여러 프로그램이 공유하는 자원이므로 전에 다른 프로그램에 의해 저장된 garbage value가 남이있을 수 있기 때문에 초기화한다. - '=' 오른쪽의 값을 왼쪽에 저장하라는 뜻 1. Array(배열) 1.1 배열 이란? - 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것을 Array라고 한다. - 많은 양의 데이터를 저장하기 위해서, 그 데이터의 숫자만큼 변수를 선언해야 한다면 매우 혼란스러울 것이다. - 서로 다른 타입의 변수들로 구성된 배열은 만들수 없다. - 서로 다른 타입의 값들을 하나로 묶으려면 '클래스'를 정의해야 한다. ==> int[] score = new int[5]; // 5개의 int값을 저정할 수 있는 배열을 생성 - 변수 score는 배열을 다루는데 필요한 참조변수일 뿐 값을 저장하기 위한 공간은 아니다. - 변수와 달리 배열은 각 저장공간이 연속적으로 배치되어 있다는 특징이 있다. 1.2 배열의 선언과 생성 - 원하는 타입의 변수를 선언하고 변수 또는 타입에 배열임을 의미.. 8. Inner class(내부 클래스) 7. interface(인터페이스) 7.1 인터페이스 - 일종의 추상클래스 이다. - 추상클래스처럼 추상메서드를 갖지만 추상클래스보다 추상화 정도가 높아서 추상클래스와 달리 몸통을 갖춘 일반 메서드 또는 멤버변수를 구성원으로 가질 수 없다. - 오직 추상메서드와 상수만을 멤버로 가질 수 있으며, 그 외 다른 어떠한 요소도 허용하지 않는다. - 추상클래스를 부분적으로만 완성된 '미완성 설계도'라고 한다면, 인터페이스를 구현된 것은 아무것도 없고 밑그림만 그려져 있는 '기본 설계도'라 할 수 있다. - 인터페이스도 추상크래스처럼 완성되지 않은 불완전한 것이기 때문에 그 자체만으로 사용되기 보다는 다른 클래스를 작성하는데 도움 줄 목적으로 작성된다. 7.2 인터페이스의 작성 - 일반적인 클래스의 멤버들과 달리 인터페이스의 멤버들은 제약사항이 있.. 6. abstract class(추상 클래스) 6.1 추상클래스 - 추상클래스는 미완성 설계도에 비유할 수 있다. - 멤버의 개수에 관계된 것이 아니라, 단지 미완성 메서드(추상메서드)를 포함하고 있다는 의미이다. - 추상클래스로 인스턴스는 생성할 수 없다. 상속을 통해서 자손클래스에 의해서만 완성 될 수 있다. - 자체로는 클래스로서의 역할을 다 못하지만, 새로운 클래스를 작성하는데 있어서 바탕이 되는 조상클래스로서 중요한 의미를 갖는다. - 공통부분만을 그린 미완성 설계도를 만들어 놓고, 이 미완성 설계도를 이용해서 각각의 설계도를 완성하는 것이 훨씬 효율적이다. - 상속을 통해서 구현해주어야 한다는 것 - 추상메서드를 포함하고 있다는 것을 제외하고는 일반클래스와 전혀 다르지 않다. - 추상클래스에도 생성자가 있으며, 멤버변수와 메서드도 가질 수.. 5. polymorphism(다형성) 5.1 다형성이란 - 상속과 함께 객체지향개념의 중요한 특징 중의 하나인 다형성 - 여러 가지 형태를 가질 수 있는 능력을 의미하며, 자바에서는 한 타입의 참조변수로 여러 타입의 객체를 참조할 수 있도록 함으로써 다형성을 프로그램적으로 구현한다. - 조상클래스 타입의 참조변수로 자손클래스의 인스턴스를 참조할 수 있도록 하였다는 것이다. 5.2 참조변수의 형변환 - 서로 상속관계에 있는 클래스사이에서만 가능하기 때문에 자손타입의 참조변수를 조상타입의 참조변수로, 조상타입의 참조변수를 자손타입의 참조변수로의 형변환만 가능하다. 5.3 instanceof 연산자 - 참조변수가 참조하고 있는 인스턴스의 실제 타입을 알아보기 위해 instanceof연사자를 사용한다. - 주로 조건문에 사용되며, instanceo.. 이전 1 2 다음