목록도서관 책 종류 (211)
컴퓨터공학 💻 도서관📚

자료구조란 무엇인가?프로그램에서 사용할 많은 데이타를 메모리 상에서 관리하는 여러 구현방법들효율적인 자료구조가 성능 좋은 알고리즘의 기반이 됨자료의 효율적인 관리는 프로그램의 수행속도와 밀접한 관련이 있음여러 자료 구조 중에서 구현하려는 프로그램에 맞는 최적의 자료구조를 활용해야 하므로 자료구조에 대한 이해가 중요함 자료구조에는 어떤 것들이 있나? * 한 줄로 자료를 관리하기 (선형 자료구조 : 배열, 연결 리스트, 스택, 큐) * 선형 자료구조는 앞뒤의 요소가 1 대 1의 관계이다. (1 대 다 , 다 대 다 의 관계도 있다.) 배열 (Array) : 선형으로 자료를 관리, 정해진 크기의 메모리르 먼저 할당받아 사용하고, 자료의 물리적 위치와 논리적 위치가 같음 ..
Class 클래스 * 자바의 모든 클래스와 인터페이스는 컴파일 후 class 파일이 생성된다 * Class 클래스는 컴파일 된 class 파일을 로드하여 객체를 동적 로드하고, 정보를 가져오는 메서드가 제공됨 * Class.forName("클래스 이름") 메서드로 클래스를 동적으로 로드 함 forName 메서드는 클래스나 인터페이스에 대해서 맴핑을 해주는, 동적 로딩(바인딩)을 해주는 메서드이다. "java.lang.String" : String 클래스에 대한 풀네임Class c = Class.forName("java.lang.String"); * 클래스 이름으로 직접 Class 클래스 가져오기Class c = String.class; * 생성된 인스턴스에서 Class 클래스..
String 클래스 * String 선언하기 String str1 = new String("abc"); String str2 = "abc"; * (1)힙 메모리에 인스턴스로 생성되는 경우와 (2)상수 풀(constant pool)에 있는 주소를 참조하는 두 가지 방법 new 해서 쓰면 힙에 메모리가 생성되고, 2번째는 상수풀에 abc라는 String이 있고 그 String의 주소만 가리키는 것이다. * 힙 메모리는 생성될 때마다 다른 주소 값을 가지지만, 상수 풀의 문자열은 모두 같은 주소 값을 가짐public class StringTest { public static void main(String[] args) { String str1 = new String("ab..

equals 메서드 : 두 인스턴스의 주소를 비교하는 메서드hashCode 메서드 : 인스턴스의 주소를 반환하는 메서드 equals() 메서드두 인스턴스의 주소 값을 비교하여 true/false를 반환재정의 하여 두 인스턴스가 논리적으로 동일함의 여부를 구현함인스턴스가 다르더라도 논리적으로 동일한 경우 true를 반환하도록 재정의 할 수 있음 (같은 학번, 같은 사번, 같은 아이디의 회원...)hashCode() 메서드hashCode()는 인스턴스의 저장 주소를 반환함힙메모리에 인스턴스가 저장되는 방식이 hash 방식 (딕션너리)hash : 정보를 저장, 검색하는 자료구조 (딕션너리)자료의 특정 값(키 값)에 대한 저장 위치를 반환해주는 해시 함수를 사용 * 두 인스턴스가 같다는 것은? ..

java.lang 패키지 (language) * 프로그래밍시 import 하지 않아도 자동으로 import 됨 * import.java.lang. *; * 많이 사용하는 기본 클래스들이 속한 패키지 * String, Integer, System... 모든 클래스는 Object 클래스를 상속 받는다 (헉 드디어 밝혀지는 세계의 비밀...!) * java.lang.Object 클래스 * 모든 클래스의 최상위 클래스 * 모든 클래스는 Object 에서 상속받고, Object 클래스의 매서드 중 일부는 재정의해서 사용할 수 있음 (final 로 선언) * class Student == class Student extends Object toString() 메서드 : 객체를 어..

테스트 프로그램은 다음과 같습니다. 문자를 입력 받아 입력되는 문자에 따라 배분 규칙을 수행하도록 합니다.public class SchedulerTest { public static void main(String[] args) throws IOException { System.out.println("전화 상담원 할당 방식을 선택하세요"); System.out.println("R : 한명씩 차례대로"); System.out.println("L : 대기가 적은 상담원 우선"); System.out.println("P : 우선순위가 높은 고객우선 숙련도 높은 상담원"); int ch = System.in.read(); Scheduler scheduler = null; if ( ch == '..

추상 클래스와 템플릿 메서드 package ch16.gamelevel;public abstract class PlayerLevel { // 추상 클래스로 선언 (상속을 위한 클래스) public abstract void run(); // 하위 클래스에서 정의할 메서드는 선언만 하기 public abstract void jump(); public abstract void turn(); public abstract void showLevelMessage(); final public void go(int count) { // 템플릿 메서드 run(); // final 예약어 사용으로 하위클래스에서 재정의 못 함 for(int..