2018년 2학기 산업수학 1

평가

  • 중간: 30
  • 기말: 60
  • 출석/참여/과제: 10

교재

  • 명품 자바 프로그래밍 4판, 황기태, 생능출판사

자바 시작

  • 컴퓨터와 프로그래밍
  • 자바의 출현과 WORA
  • 개발 도구와 자바 플랫폼
  • 자바 프로그램 개발
  • 이클립스를 이용한 자바 프로그램 개발
  • 자바 언어의 활용
  • 자바의 특징

자바 기본 프로그래밍

  • 자바 프로그램의 구조
  • 식별자
  • 자바의 데이터 타입
  • 자바에서 키 입력
  • 연산
  • 조건문

반복문과 배열 그리고 예외 처리

  • 반복문
  • continue 문과 break 문
  • 배열
  • 다차원 배열
  • 메소드에서 배열 리턴
  • main() 메소드
  • 자바의 예외 처리

클래스와 객체

  • 객체 지향과 자바
  • 자바 클래스 만들기
  • 생성자
  • 객체 배열
  • 메소드 활용
  • 객체의 소멸과 가비지 컬렉션
  • 접근 지정자
  • static 멤버
  • final

상속

  • 상속의 개념
  • 클래스 상속과 객체
  • 상속과 protected 접근 지정자
  • 상속과 생성자
  • 업캐스팅과 instanceof 연산자
  • 메소드 오버라이딩
  • 추상 클래스
  • 인터페이스

모듈과 패키지 개념, 자바 기본 패키지

  • 패키지(Package)
  • import와 클래스 경로
  • 패키지 만들기
  • 모듈 개념
  • 자바 JDK에서 제공하는 패키지
  • Object 클래스
  • Wrapper 클래스
  • String 클래스
  • StringBuffer 클래스
  • StringTokenizer 클래스
  • Math 클래스
  • Calendar 클래스

제네릭과 컬렉션

  • 컬렉션과 제네릭
  • 제네릭 컬렉션 활용
  • 제네릭 만들기

입출력 스트림과 파일 입출력

  • 자바의 입출력 스트림
  • 문자 스트림과 파일 입출력
  • 바이트 스트림과 파일 입출력
  • 버퍼 입출력과 파일 입출력
  • File 클래스
  • 파일 입출력 응용: 파일 복사

자바 GUI 기초, AWT와 스윙(Swing)

  • 자바의 GUI
  • 자바 GUI 패키지
  • 스윙 GUI 프로그램 만들기
  • 컨테이너(Container)와 배치(Layout)
  • FlowLayout 배치관리자
  • BorderLayout 배치관리자
  • GridLayout 배치관리자
  • 배치관리자 없는 컨테이너

자바의 이벤트 처리

  • 이벤트 기반 프로그래밍(Event Driven Programming)
  • 이벤트 객체
  • 이벤트 리스너
  • 어댑터(Adapter) 클래스
  • KeyEvent와 KeyListener
  • MouseEvent와 MouseListener, MouseMotionListener, MouseWheelListener

기본적인 스윙 컴포넌트와 활용

  • 스윙 컴포넌트 소개
  • JLabel, 레이블 컴포넌트
  • JButton, 버튼 컴포넌트
  • JCheckBox, 체크박스 컴포넌트
  • JRadioButton, 라디오버튼 컴포넌트
  • JTextField,텍스트필드 컴포넌트
  • JTextArea, 텍스트영역 컴포넌트
  • JList, 리스트 컴포넌트
  • JComboBox, 콤보박스 컴포넌트
  • JSlider, 슬라이더 컴포넌트

그래픽

  • 스윙 컴포넌트 그리기
  • Graphics
  • 도형 그리기와 칠하기
  • 이미지 그리기
  • 클리핑(Clipping)
  • 스윙의 페인팅 메커니즘

스레드와 멀티태스킹

  • 멀티태스킹
  • 자바의 멀티스레딩
  • 스레드 만들기
  • 스레드 생명 주기와 스케줄링
  • 스레드 종료
  • 스레드 동기화(Thread Synchronization)
  • wait(), notify(), notifyAll()을 이용한 스레드 동기화

고급 스윙 컴포넌트

  • 메뉴 만들기
  • 툴바
  • 툴팁
  • 다이얼로그 만들기
  • 팝업 다이얼로그
  • 파일 다이얼로그
  • 컬러 다이얼로그
  • 탭팬
  • 자바 오디오 다루기

네트워크

  • TCP/IP
  • 소켓 프로그래밍
  • 서버-클라이언트 채팅 프로그램 만들기
  • 수식 계산 서버-클라이언트 만들기 실습

JDBC 프로그래밍

  • 데이터베이스
  • MySQL
  • MySQL Workbench를 이용한 데이터베이스 활용
  • 자바의 JDBC 프로그래밍

프로젝트

  1. 학교 시간표 파싱하여 데이터베이스에 저장하고 디비에 있는 내용을 불러오는 프로그램
  • 배운 내용들을 이용
  • 이해
  • 응용
  1. 이메일 서버에 접속해서 이메일 목록을 가져와 출력하는 프로그래밍을 작성합니다.