본문 바로가기

자바48

Lecture 32 - JSP(1) JDBC API 사용법(Java와 SQL 연동) Managed Language - 자바, C#, python Unmanaged Language - C, C++, asm managed의 뜻은 메모리 관리를 자동으로 하냐 직접 해주냐임 두 영역별 언어 1개씩은 할 줄 아는게 중요 JDBC JDBC 드라이버 가져오는 법 JDBC URL, 드라이브로딩, 커넥션 DML 처리 JDBCEx01 - 드라이버 로딩 법 public class JDBCEx01 { public static void main(String[] args) { // 드라이버 - 라이브러리 내의 클래스 try { Class.forName("oracle.jdbc.driver.OracleDriver"); System.out.println("드라이버 로딩 성공"); } catch (ClassNotFou.. 2023. 6. 20.
Lecture 31 - Java(12) DataInputStream, DataOutputStream, PrintStream, System.in, out, err, Menu, RandomAccessFile, ObjectInputStream, ObjectOutputStream DataInputStream과 DataOutputStream : DataInputStream/DataOutputStream도 각각 FilterInputStream/FilterOutputStreamm의 자손이며 DataInputStream은 DataInput 인터페이스를, DataOutputStream은 DataOutput 인터페이스를 각각 구현하였기 때문에, 데이터를 읽고 쓰는데 있어서 byte단위가 아닌, 8가지 기본 자료형의 단위로 읽고 쓸 수 있다는 장점이 있다. DataOutputStream이 출력하는 형식은 각 기본 자료형 값을 16진수로 표현하여 저장한다. 예를 들어 int값을 출력한다면, 4byte의 16진수로 출력된다. DataOutputStreamEx01 - utf-8 방식으로 저장 im.. 2023. 6. 20.
Lecture 30 - Java(11) File, InputStream, OutputStream, 보조스트림, FileReader, ZipCode 검색 FileEx01 continued import java.io.File; import java.io.IOException; public class FileEx01 { public static void main(String[] args) { // File 생성 // 파일이나 디렉토리 경로를 통해서 생성 // 파일이나 디렉토리가 반드시 존재하지 않아도 객체 생성 가능하다 File f1 = new File("c:\\Java");// windows File f2 = new File("c:/Java");// linux / mac File f3 = new File("c:/Java/test.txt");// 파일명 File f4 = new File("c:/Java", "test.txt");// 경로, 파일명 // 경로명.. 2023. 6. 20.
Lecture 29 - Java(10) ArrayList, LinkedList, HashSet, TreeSet, HashMap, File ArrayList 계속 ArrayListEx05 - 2차원 데이터를 저장 2차원 데이터를 저장(행과 열) = 테이블 2차원 배열 ArrayList 2개 : ArrayList안에 ArrayList를 넣는다 ArrayList + 클래스 1 홍길동 010-111-1111 20 서울시 2 박문수 010-222-2222 22 경기도 3 이몽룡 010-333-3333 23 강원도 위 데이터를 2차원 배열 넣고 싶은데 어떻게 하면 될까요? public class ArrayListEx05 { public static void main(String[] args) { // 2차원 데이터를 저장(행과 열) = 테이블 // 2차원 배열 // ArrayList 2개 : ArrayList안에 ArrayList를 넣는다 // Ar.. 2023. 6. 20.
Lecture 28 - Java(9) 로또발생기, StringTokenizer, StringJoiner, Scanner, Arraylist 1. 왜 자바를 써요? - 객체지향성 때문에요 2. 자바프로그램의 분류 - SE(core) / EE(Enterprise) / ME(망함) 3. JDK, JRE(JVM : Java Virtual Machine) - jdk(jdk + jre(jvm)) * jvm이 얼마나 빨라 질 것인가 -> chip ----------------------------------------------------------------------------------------------------------------------- 프로그램 개론(Ch.02~04) 데이터 처리(자료 구조) + 객체 -> 객체 선언 / 사용(Ch.6) -> 객체 지향 프로그램 기법(Ch.7) 은닉(캡슐화 : incapsulation) - 데이터 보.. 2023. 6. 20.
Lecture 27 - Java(8) 추상화, 형변환, 다형성, 예외처리 추상클래스(abstract class) 클래스를 설계도에 비유한다면, 추상클래스는 미완성 설계도에 비유할 수 있다. 미완성 설계도란, 단어의 뜻 그대로 완성되지 못한 채로 남겨진 설계도를 말한다. 클래스가 미완성이라는 것은 멤버의 개수에 관계된 것이 아니라, 단지 미완성 메서드(추상메서드)를 포함하고 있다는 의미이다. 미완성 설계도로 완성된 제품을 만들 수 없듯이 추상클래스로 인스턴스는 생성할 수 없다. 추상클래스는 상속을 통해서 자손클래스에 의해서만 완성될 수 있다. 추상메서드(abstract method) 메서드는 선언부와 구현부(몸통)로 구성되어 있다고 했다. 선언부만 작성하고 구현부는 작성하지 않은 채로 남겨 둔 것이 추상메서드이다. 즉, 설계만 해 놓고 실제 수행될 내용은 작성하지 않았기 때문에.. 2023. 6. 20.
Lecture 26 - Java(7) 주민번호체크, wrapper 클래스, Date, Calendar StringEx02 문자열의 첫문자를 대문자화 // 문자열의 첫문자를 대문자화 // hong gil dong -> "hong gil dong" public class StringEx02 { public static void main(String[] args) { // TODO Auto-generated method stub // 입력값 검사 if(args.length != 1) { System.out.println("1개의 값을 입력하셔야 합니다."); } else { //System.out.println("정상 입력"); String[] names = args[0].split(" "); String result = ""; for(String name : names) { //System.out.print.. 2023. 6. 20.
Lecture 25 - Java(6) 클래스, 접근제어자, 이클립스 환경 구축법 클래스 모듈(X) 패키지(도메인) 클래스 배치 import 패키지명.(.여러개.).클래스 (패키지명) 디렉토리.디렉토리.디렉토리.클래스 has - a : 멤버변수(instance) is - a : 상속 상속 - extends 클래스(한개) : 단일 상속(다중 상속 X) - 생성자와 초기화 블럭은 상속 X - final class - 상속불가 method - 오버라이드 불가 멤버변수/지역변수 - 상수 - 오버라이드(재정의) 조건 : 메서드 이름, 타입, 매개변수가 같아야 한다 - super - super() 접근 제어자(access modifier) 접근 제어자는 멤버 또는 클래스에 사용되어, 해당하는 멤버 또는 클래스를 외부에서 접근하지 못하도록 제한하는 역할을 한다. 접근 제어자가 사용 될 수 있는 곳.. 2023. 6. 20.