개발자 수업
-
21. 컬렉션 프레임워크개발자 수업/Java 2021. 10. 14. 20:38
1. 자료(Data)와 자료구조(Data Structure) 1) 자료(데이터)를 어디에 어떻게 관리할지 - 검색, 순회(iterate), 저장, 삭제, 변경 ... 2) 데이터의 형태와 쓰임에 가장 적합한 자료구조를 사용하는 것이 매우 중요 3) 자료의 효율적인 관리는 프로그램의 수행속도와 밀접한 관련이 있음 2. 자료구조 종류 1) 한 줄로 자료를 관리하기 (선형 자료구조) - 배열(Array) - 연결리스트(LinkedList) - 스택(Stack) - 큐(Queue) 2) 트리(tree) 3) 그래프(graph) 4) 해싱(hashing) 3. 배열(Array) 구현 1) 동일한 데이터 타입을 순서에 따라 관리하는 자료 구조 2) 정해진 크기가 있음 3) 배열의 i번째 요소를 찾는 인덱스 연산이 ..
-
20. Generic 프로그래밍개발자 수업/Java 2021. 10. 14. 20:37
public class Plastic { @Override public String toString() { return "재료는 Plastic 입니다."; } } public class Powder { @Override public String toString() { return "재료는 Powder 입니다."; } } public class ThreeDPrinter01 { private Powder material; public Powder getMaterial() { return material; } public void setMaterial(Powder material) { this.material = material; } @Override public String toString() { retur..
-
19. Wrapper 클래스개발자 수업/Java 2021. 10. 14. 12:21
1. Primitive 자료형과 Wrapper 클래스 1) 정의 : 각 기본 데이터형 별로 기본 데이터에 관계된 기능을 미리 만들어 제공하는 클래스 2) 종류 boolean boolean byte byte char Character short Short int Integer long Long float Float double Double 3) ArrayList 등 객체만을 핸들링하는 기능을 사용하기 위해 Wrapper 클래스 사용 public class WrapperTest { public static void main(String[] args) { System.out.println("int의 최소값 : " + Integer.MIN_VALUE); System.out.println("int의 최대값 : "..
-
18. Class 클래스개발자 수업/Java 2021. 10. 14. 12:20
1. Class 클래스 1) 자바의 모든 클래스와 인터페이스는 컴파일 후 .class 파일이 생성됨 2) Class 클래스는 컴파일된 class 파일을 로드하여 객체를 동적 로드하고, 정보를 가져오는 메서드가 제공됨 3) Class.forName("클래스 이름") 메서드로 클래스를 동적으로 로드 함 - 실행(runtime)중에 데이터 타입을 binding하는 방법 - 동적 로딩 시 오류가 발생하면 프로그램의 심각한 장애 발생가능 (컴파일 시에 타입이 정해지지 않으므로) 4) reflection 프로그래밍 - Class 클래스를 사용하여 클래스의 정보(생성자, 변수, 메서드) 등을 알 수 있고 인스턴스를 생성하고, 메서드를 호출하는 방식의 프로그래밍 import java.lang.reflect.Constr..
-
17. String 클래스개발자 수업/Java 2021. 10. 13. 22:11
1. String 1) 선언 - String str1 = new String("abc"); - String str2 = "abc"; - 힙 메모리에 인스턴스로 생성되는 경우(1) --> 생성될 때 마다 다른 주소 값 가짐 상수 풀(constant pool)에 있는 주소를 참조하는 두 가지 방법이 있음(2) --> 모두 같은 주소 값 가짐 2) 한 번 생성된 String 객체는 불변함 (immutable) 3) String을 연결하면 기존의 String에 연결되는 것이 아닌 새로운 문자열이 생성됨 public class StringTest { public static void main(String[] args) { String str1 = new String("abc"); String str2 = new ..
-
16. Object 클래스개발자 수업/Java 2021. 10. 13. 22:09
1. Object 클래스 -- 모든 클래스의 최상위 클래스 2. java.lang 패키지 1) 프로그래밍 시 import 하지 않아도 자동으로 import 됨 2) 많이 사용하는 기본 클래스들이 속한 패키지 3) String, System, Math, Integer ... 3. 모든 클래스는 Object 클래스를 상속 받음 1) 모든 클래스는 Object 클래스의 메서드 중 일부는 재정의해서 사용할 수 있음 2) 컴파일러가 extends Object를 추가함 class Book => class Book extends Object 4. toString() 메서드 1) 객체의 정보를 String으로 바꾸어서 사용할 때 쓰임(재정의) 2) String, Integer 클래스는 이미 재정의 되어 있음 publi..
-
과제2 - CarTest개발자 수업/Java 2021. 10. 13. 09:23
/* * final 예약어 * 1) final 변수 : 값이 변경될 수 없는 상수 * 2) final 메서드 : 하위 클래스에서 재정의 할 수 없는 메서드 * 3) final 클래스 : 상속할 수 없는 클래스 */ // 추상 클래스 public abstract class Car { // 추상 메서드 public abstract void drive(); public abstract void stop(); public void startCar() { System.out.println("시동을 켭니다."); } public void turnOff() { System.out.println("시동을 끕니다."); } // 순서를 변경할 수 없도록 final로 고정 public final void run() { s..
-
15. 추상 클래스와 인터페이스개발자 수업/Java 2021. 10. 13. 09:20
1. abstract -- 추상적인, 미완성의 1) 클래스 앞에 붙을 때 : 클래스 내에 추상 메서드가 존재하는 클래스임 2) 메서드 앞에 붙을 때 : 선언부만 존재하고 구현부가 없는 추상 메서드임 2. 추상 클래스란? 1) 개념 - 완성되지 않은 설계도와 같음 - 인스턴스를 생성할 수 없음 => 상속을 통해서 자손클래스에서 추상메서드를 다 구현해야 인스턴스를 생성할 수 있음 - 추상 메서드(선언부만 존재)를 최소 1개 이상 포함하고 있는 클래스임 - 다른 클래스를 작성하는데 도움을 줄 목적으로 이용됨 3. 추상 메서드란? 1) 메서드의 선언부만 있고, 구현부(정의부, 목통)이 없는 메서드를 말함 public abstract void power(String name); 2) 자손마다 다르게 구현될 것 이..