□ Java 공부의 로드맵 만들기
* 대략적인 Java 로드맵
- 프로그래밍 기본과 Java 기초 문법
- 객체지향 프로그래밍
- 입출력, 네트워크 프로그래밍
- Web, Android
- Frameworks : 소프트웨어 어플리케이션이나 솔루션의 개발을 수월하게 하기 위해 소프트웨어의 구체적 기능들에 해당하는 부분의 설계와 구현을 재사용 가능하도록 협업화된 형태로 제공하는 소프트웨어 환경
* 기본기(기본 문법)
- 변수, 제어문, 루프
- 배열
- 함수
- 레퍼런스 개념(포인터)
- 객체 개념
=> 예 : 간단한 입력, 상황에 따른 계산(가위바위보), 구구단, 함수를 이용한 재사용 등 코드를 직접 만들어 봐야합니다.
* 기본기 점검 포인트
- 단순한 문제의 절차적인 해결능력 확인
(처음엔 컴퓨터를 이용한 코딩보다는 그림을 그리고 생각과 논리를 정리하는 과정이 중요)
- 참조나 포인터의 개념을 제대로 잡고 있는가?
- 기본 문법의 오류를 해결하는 능력
* 객체지향 분석 설계
- 클래스와 객체
- 클래스 설계 분석
- 상속과 인터페이스
=> 주소록, 전화번호부, 게시판, 윈도우 프로그래밍(GUI)
* 객체지향 점검 포인트
- 각 기법이 가지는 장점과 단점의 파악
- 상황에 맞는 기법 적용
- 다른 사람의 소스에 대한 분석 능력 : 지속적인 노력과 경험, 시행착오, 무엇보다 시간이 많이 필요한 능력
- 문제에 맞는 설계능력
* 입출력과 네트워크
- 입출력 프로그래밍 개념
- 파일입출력
- Socket 프로그래밍
- Thread 프로그래밍
- 기존 예제에 기능적인 추가(파일저장, 외부연결, 동시성 처리)
* Web 프로그래밍
- Database 프로그래밍 (DB개념, SQL ...)
- HTTP 프로토콜 이해
- 서블릿 (+HTML, CSS 기본)
- JSP (+Javascript)
* Android
- Activity(화면...)
- 네트워크, BR, CP, NDK, Service, 커널 ...
- Hybrid App (HTML5, Web과의 연계)
* Frameworks, Web
□ Java란 무엇인가?
* Java?
- 제임스 고슬링, 처음에는 상호작용 TV를 위한 프로그래밍 언어로 이름이 Oak 였습니다.
- 이후 Java Coffee에서 이름을 따서 Java로 바꾸게 되었습니다.
- "write once, run anywhere" 플랫폼에 독립적으로 사용될 수 있도록 설계되었습니다.
- 1995년 알파버전 발표, 2014년 Java SE 8 발표
* 기업들이 선호했던 Java
- 플랫폼 독립적
- 생산성과 안정성
- 기업환경에 맞는 Enterprise Edition
* 모바일에서의 Java
- iPhone 대항마 -> Android
- 주 개발 언어 -> Java
* Java로 하는 일, 안 하는 일
- Java로 가장 많이 하는 일 : Web Application, Mobile(Android)
- Java로 잘 하지 않는 일 : Desktop Application(AWT, SWING, JavaFX ...)
- Java로 못 하는 일 : Native Application
* 프로그래밍 언어로서 Java
- C/C++의 문법적인 구조 흡수
- 기존 언어에 비해 간결한 문법
- 자동적인 메모리 관리를 통한 안정성 확보
* 개발환경 구축하기
- JDK
- Eclipse, Intellij
'학습 > IT' 카테고리의 다른 글
[IT] Java기초(3) - 변수(variable), 데이터의 크기와 종류, 캐스팅 (0) | 2021.11.09 |
---|---|
[IT] Java기초(2) - Eclipse에서 Hello, World 코드 실행해보기 (0) | 2021.11.03 |
[IT] C언어 입문(14, 끝) C 전처리기(C preprocessor), 함수 포인터(function pointer) (0) | 2021.09.18 |
[IT] C언어 입문(13) 자료구조(data structure) 예시 - 연결리스트(linked list) (0) | 2021.09.14 |
[IT] C언어 입문(12) structure, union, enumerated types - 구조체, 공용체, 열거체 (0) | 2021.09.11 |
댓글