[목차]
https://hajoung56.tistory.com/35
[1] Java와 객체지향 프로그래밍
- Java 플랫폼은 Java VM과 Java API로 구성된다.
[2] Java 기본문법(1)
- 변수의 종류로는 인스턴스 변수, 클래스 변수, 지역 변수, 파라미터가 있다.
- 인스턴스 변수는 객체가 소유하는 변수이며, 클래스 변수는 해당 클래스의 객체들이 공유하는 변수이다.
[3] Java 기본문법(2)
1. 클래스를 정의할 때, 접근 제어자가 생략된 데이터 필드는 ‘해당 클래스’와 ‘같은 패키지의 다른 클래스’에서 사용할 수 있다
[4] 클래스와 상속
- 인스턴스 메소드와 생성자에서 숨은 인자인 this와 super를 사용할 수 있다.
[5] 인터페이스와 다형성
- 다형성은 메소드 오버라이딩과 오버로딩, 클래스 간 상속과 형변환, 인터페이스의 구현과 형변환, 메소드 동적 바인딩을 통해 구현될 수 있다.
[6] 제네릭과 람다식
- 제네릭 클래스를 사용할 때 제공되는 타입 파라미터는 필드의 자료형, 메소드의 반환형, 인자의 자료형으로 사용될 수 있다.
- 람다식의 실행 결과가 대입되는 인터페이스를 람다식의 타깃 타입이라고 한다.
[7] 패키지와 예외처리
- Java 프로그램에서 필요한 클래스나 패키지는 환경변수 CLASSPATH에 포함되어 있는 경로상에서 찾을 수 있어야 한다.
[8] java.lang 패키지
- String은 문자열 처리를 위한 다양한 메소드를 제공하지만 immutable 클래스로, String 객체는 생성 이후에 내용 변경이 불가능하다.
- 자주 변경되는 문자열을 다루어야 할 경우에는 String 클래스보다 StringBuffer나 StringBuilder 클래스를 사용하는 것이 보다 효율적이다.
[9] java.io 패키지와 스트림
- RandomAccessFile 클래스는 파일의 읽기/쓰기를 지원하며 파일 포인터가 가리키는 임의의 위치에 읽기/쓰기가 가능하다.
- BufferedInputStream(OutputStream)과 BufferedReader(Writer)는 보조 스트림으로 버퍼링 기능을 제공하여 입출력 성능을 향상시킨다.
- 기본 스트림의 객체를 먼저 생성하고, 그 객체를 인자로 하여 보조 스트림 객체를 생성한다.
- InputStreamReader는 바이트 스트림으로 읽어들인 데이터를 캐릭터 스트림으로 변환시킨다.
[10] java.nio 패키지의 활용
- java.nio와 그것의 서브 패키지는 java.io 패키지를 개선한 새로운 입출력 패키지이다.
- java.nio.file 패키지의 Path 인터페이스는 java.io 패키지의 File 클래스보다 풍부한 기능을 제공한다.
- Files 클래스는 실제 파일(또는 디렉터리) 조작과 읽기/쓰기 기능을 수행하는 static 메소드를 제공한다.
- java.nio.file의 FileChannel은 입출력을 모두 제공하고 기본적으로 버퍼링을 사용하며 멀티 스레드 환경에서도 안전하도록 설계되어 있다.
- java.nio.file 패키지의 WatchService는 디렉터리에 발생하는 이벤트를 감시하는 서비스이다.
- AsynchronousFileChannel 클래스를 이용하면 논-블로킹 방식 입출력을 지원하여 read(), write() 작업이 완료되지 않더라도 다른 작업을 동시에 수행할 수 있다.
[11] 컬렉션
- 컬렉션은 여러 원소를 하나의 그룹으로 묶은 객체를 통칭하는 용어이며, JCF는 컬렉션을 표현하고 다루기 위한 통합 프레임워크이다.
- Set은 순서는 상관없지만 중복을 허용하지 않는 자료를 다루기 위한 인터페이스이다.
- List와 Queue는 자료의 중복을 허용하고 순서를 고려하여 관리하는 인터페이스이다. 특히 Queue는 FIFO 방식으로 자료를 관리하는 인터페이스이다.
- Map 인터페이스는 <키, 값>의 쌍으로 구성되는 자료를 관리하는 메소드를 제공한다.
- LinkedList 클래스는 List 인터페이스와 Queue 인터페이스를 모두 구현한 클래스로서, 스택 자료구조의 구현에 사용할 수도 있고, 큐 자료구조의 구현에 사용할 수도 있다.
[12] 멀티스레드 프로그래밍
- 멀티 스레드 프로그래밍이란 하나의 프로세스에서 여러 스레드가 생성되어 동시 실행되게 하는 것을 말한다.
- 스레드의 실행 코드는 Thread를 상속받는 자식 클래스(또는 Runnable 인터페이스를 구현한 클래스)의 정의에 포함된 public void run() 메소드에 있다.
- Thread 클래스에서 스레드의 상태를 제어하는 메소드로 start(), join(), interrupt()가 있으며, static 메소드인 yield()와 sleep()도 있다. 한편 Object 클래스에 정의된 메소드로는 notify()와 wait()가 있다.
- 스레드 동기화는 데이터의 일관성을 유지하도록 한 번에 한 스레드만이 스레드 간 공유 객체에 접근하도록 하는 것이며, synchronized 메소드는 동기화를 보장한다.
[13] AWT 컨트롤 클래스
- AWT는 Java에서 GUI를 만들기 위한 API를 제공한다.
- GUI 컴포넌트는 클래스 형태로 제공되며 컨트롤과 컨테이너로 분류된다.
- Frame 클래스는 테두리와 메뉴바를 가질 수 있으며 기본 배치 관리자로 BorderLayout을 사용한다.
- 컨테이너는 컨트롤이나 다른 컨테이너를 포함할 수 있는 컴포넌트로 배치관리자를 사용하여 자식 컴포넌트의 크기나 위치를 자동으로 조정한다.
- BorderLayout은 중앙/동/서/남/북에 자식 컴포넌트를 하나씩 배치하며, FlowLayout은 자식 컴포넌트를 한 줄씩 수평으로 배치하는 배치 관리자이다.
[14] AWT 이벤트 처리하기
- 윈도우 프로그램은 이벤트 기반 프로그래밍 방식으로 작성된다.
- 이벤트를 발생시킨 컴포넌트를 이벤트 소스라고 하고, 이벤트의 처리를 맡은 객체를 이벤트 리스너라고 한다.
- 한 컴포넌트에 여러 종류의 이벤트가 발생할 수 있는데, 발생 가능한 이벤트는 컴포넌트의 종류에 따라 다르다.
- 이벤트는 종류별로 클래스로 정의되었 있다. 예로 마우스 클릭과 관련된 이벤트들을 표현하는 MouseEvent라는 클래스가 있다.
- 특정 이벤트를 처리하기 위해 해당 리스너를 구현한 클래스를 정의하고, 객체를 생성하여 이벤트 소스에 이벤트 리스너로 등록한다.
- 이벤트 어댑터가 있는 경우 이벤트 리스너를 구현하는 대신 어댑터를 상속받는 클래스를 정의할 수 있다.
[15] JDBC프로그래밍
- JDBC는 Java 프로그램에서 관계형 데이터베이스와 연동할 수 있게 하는 표준 API이다.
- DBMS와 연결을 설정할 때는 java.sql.Connection 객체를 사용한다.
- SQL 구문을 실행할 때 Statement 인터페이스의 execute(), executeQuery(), executeUpdate()를 사용한다.
- select 구문을 실행할 때 executeQuery()를 실행하며 검색 결과가 ResulteSet 객체로 리턴된다.
- 같은 SQL 문을 여러 번 실행할 때는 PreparedStatement 객체를 사용하는 것이 효율적이며, SQL 문에 매개변수를 사용하고 실행 전에 값을 지정할 수 있다.
LIST
'4차산업혁명의 일꾼 > Java&Spring웹개발과 서버 컴퓨터' 카테고리의 다른 글
[OKKY 2월 세미나] AI사용으로 개발 속도 2배 높이기 정리 (0) | 2023.02.27 |
---|---|
데이터베이스 시스템 정리 - 방송통신대 컴퓨터공학과 (0) | 2023.02.23 |
C 프로그래밍 개론 - 방송통신대 컴퓨터공학과 C언어 정리 (0) | 2023.02.23 |
파이썬프로그래밍 기초 (0) | 2023.02.23 |
디자인패턴 3 - 기능의 선언과 구현을 분리하여 생각하기 (0) | 2023.02.21 |