Java15 자바와 자료구조 / 배열, 스택, 큐 1. 여러가지 자료구조 자료구조란? ( Data Structure ) 프로그램에서 사용할 많은 데이터를 메모리 상에서 관리하는 여러 구현방법들 효율적인 자료구조가 성능 좋은 알고리즘의 기반이 됨 자료의 효율적인 관리는 프로그램의 수행속도와 밀접한 관련이 있음 여러 자료 구조 중에서 구현하려는 프로그램에 맞는 최적의 자료구조를 활용해야 하므로 자료구조에 대한 이해가 중요. 자료 구조에는 어떤 것들이 있나 한 줄로 자료를 관리하기 ( 선형 자료구조 ) 배열 ( Array ) 선형으로 자료를 관리 정해진 크기의 메모리를 먼저 할당받아 사용 자료의 물리적 위치와 논리적 위치가 같음 연결 리스트 ( LinkedList ) 선형으로 자료를 관리 자료가 추가될 때마다 메모리를 할당 받고 자료는 링크로 연결된다 자료의.. 2022. 11. 29. 자바의 유용한 클래스 / Object, String, StringBuilder, StringBuffer, textblock, Class 클래스 1. Object 클래스 - 모든 클래스의 최상위 클래스 java.lang 패키지 프로그래밍시 import하지 않아도 자동으로 import 된다 import java.lang.*; 많이 사용하는 기본 클래스들이 속한 패키지 String, Integer, System ...~ 모든 클래스는 Object 클래스를 상속 받는다 java.lang.Object 클래스 모든 클래스는 Object에서 상속받고, Object 클래스의 메서드 중 일부는 재정의해서 사용할 수 있음 컴파일러가 자동으로 extends Object를 추가함 class Student >> class Student extends Object toString() 메서드 객체의 정보를 String으로 바꿔서 사용할 때 쓰인다 String이나 Inte.. 2022. 11. 22. Java 객체지향 핵심 / 다운 캐스팅, 추상클래스, 추상클래스 응용, 인터페이스, DAO, 인터페이스 상속 8. 다운 캐스팅과 instanceof 다운 캐스팅 업 캐스팅된 클래스를 다시 원래의 타입으로 형 변환 하위 클래스로 형 변환은 명시적으로 해야함 Customer vc = new VIPCustomer(); // 묵시적 VIPCustomer vCustomer = (VIPCustomer)vc; // 명시적 instanceof를 이용하여 인스턴스의 형 체크 원래 인스턴스의 형이 맞는지 여부를 체크하는 키워드가 맞으면 true 아니면 false 반환 AniamlTest.java package ch08; import java.util.ArrayList; class Animal { public void move() { System.out.println("동물이 움직입니다."); } } class Human exte.. 2022. 11. 18. Java 객체 지향 핵심 / 상속, 형 변환, 재정의(override), 다형성 1. 객체 간의 상속의 의미 클래스 상속 새로운 클래스를 정의 할 때 이미 구현된 클래스를 상속(inheritance)을 받아서 속성이나 기능을 확장하여 클래스를 구현 이미 구현된 클래스보다 더 구체적인 기능을 가진 클래스를 구현해야 할 때 기존 클래스를 상속함 상속 하는 클래스 : 상위클래스, parent class, base class, super class 상속받는 클래스 : 하위 클래스, child class, derived class, subclass 상속의 문법 class B extends A { } extends 키워드 뒤에는 단 하나의 클래스만 올 수 있다. 자바는 단일 상속만을 지원함 상속을 구현하는 경우 상위 클래스는 하위 클래스보다 더 일반적인 개념과 기능을 가짐 하위 클래스는 상위 .. 2022. 11. 17. Java 객체지향 입문 / 배열, 객체 배열, 2차원 배열, ArrayList 20. 배열( Array ) 배열이란? 동일한 자료형의 순차적 자료 구조 인덱스 연산자 [ ]를 이용하여 빠른 참조가 가능 물리적 위치와 논리적 위치가 동일 배열의 순서는 0부터 시작 자바에서는 객체 배열을 구현한 ArrayList를 많이 활용한다 배열 선언과 초기화 배열 선언하기 int[] arr1 = new int[10]; int arr2[] = new int[10]; 배열 초기화하기 배열은 선언과 동시에 자료형에 따라 초기화 됨 ( 정수는 0, 실수는 0.0, 객체는 null ) 필요데 따라 초기값을 지정할 수 있음 int[] number = new int[] {10, 20, 30}; // 개수 생략해야함 int[] number = {10,20,30}; // new int[] 생략 가능 int[] .. 2022. 11. 16. Java 객체지향 입문 / static 변수, static 매서드, singleton 패턴 16. static 변수 공통으로 사용하는 변수가 필요한 경우 여러 인스턴스가 공유하는 기준 값이 필요한 경우 학생마다 새로운 학번 생성 카드회사에서 카드를 새로 발급할 때마다 새로운 카드 번호를 부여 회사에 사원이 입사할 때마다 새로운 사번이 필요함 static 변수 선언과 사용하기 static int serialNum; 인스턴스가 생성될 때 만들어지는 변수가 아닌, 처음 프로그램이 메모리에 로딩될 때 메모리를 할당 클래스 변수, 정적변수라고도 함 인스턴스 생성과 상관 없이 사용이 가능하므로 클래스 이름으로 직접 참조 Student.serialNum = 100; static 변수 테스트 하기 Employee.java public class Employee { public static int serial.. 2022. 11. 16. 이전 1 2 3 다음