1.자바 프로그래밍 시작하기
프로그래밍이란?
- 프로그래밍 : 컴퓨터가 일을 수행 하도록 프로그래밍 언어로 명령어 집합(프로그램)을 만드는 일
- 컴파일 : 프로그래밍 언어를 컴퓨터가 실행 가능한 기계어로 만드는 일
- 컴파일러 : 기계어로 바꾸어 주는 프로그램 ( ex. 자바 컴파일러, gcc )
제일 오래된 C언어 → C컴파일러
자바→ 자바 컴파일러
C+→ C+컴파일러
파이썬 → 파이썬 컴파일러
프로그램을 "짠다", "구현한다","시스템을 만든다" - 프로그램 언어를 이용해서 컴퓨터가 이해하도록 수행하도록 시키는 일이다.
자바 프로그래밍
자바의 역사 : 1991년 제임스 고슬링을 비롯한 선 마이크로 시스템즈 연구원들이 처음 개발 가전, 휴대용 장치에 사용되는 소프트웨어 언어로 개발되어 안정성이 강조됨.
잘짜면 정말 좋은 언어이지만 조금이라도 미숙하다면 시스템 다운 현상이 많이 일어나는 위험성 있는 언어이다.때문에 휴대용장치 및 가전제품에는 어울리지 않았고, 그리 하여 자바가 등장하였다.
자바 프로그래밍의 특징
플랫폼(O.S)에 영향을 받지 않으므로 다양한 환경에서 사용할 수 있다.
자바의 장점 - 가상머신 ex)
중앙처리장치인 cpu에는 대표적인 회사 2개가 있는데, intel, amd가 있다.
두 cpu는 처리방식이 다르지만 가상 처리방식을 사용해 가상 cpu를 만들어서 돌리면 처리하는데에 아무 문제가 없을 것과 같은 원리로 자바는 O.S에 상관없이 다양한 환경에서 사용할 수 있다.
객체 지향 언어이기 때문에 유지보수가 쉽고 확장성이 좋다.
프로그램이 안정적이다.
오픈소스(library)의 기능이 풍부하게 제공된다.
자바는 C언어의 위험성과 C++의 모호한 부분을 과감히 없앴다.
- 자바 소스 코드 -사람의 언어
- 자바 컴파일러 - 번역
- 바이트 코드 - 가상 머신이 이해할 수 있는 언어로 변환된 자바 소스 코드
초기에는 속도가 느리다는 평이 있었지만 최근에 개선되어 성능에 대한 이슈가 사라졌다.
객체지향 프로그래밍이 무엇인가?
프로그램의 구현을 시간의 흐름순이 아닌 객체간의 관계와 협력을 기반으로 프로그램 하는 것
Object oriented programming(OOP) 이라고 함 ↔ 절차 지향 프로그래밍 procedural programming ex.C언어의 방식
사용 하는 언어 : Java, C++, C#, Python, JavaScript, Ruby 등 다수
자바로 프로그래밍을 하면 좋은 이유는 뭔가요?
(객체 지향 프로그래밍의 장점)
- 재사용성
- 유지보수
- 코드 관리가 쉽다
- 신뢰성 높은 프로그램
자바를 활용한 프로그래밍
- 웹 서버 구현
- 안드로이드 프로그래밍
- 게임 프로그래밍
이 과정에서 배워야 할 내용
- 자바 언어 익히기 (문법)
- 객체 지향 프로그래밍 개념을 익히고 자바로 구현하기
- 자료 구조의 필요성을 이해하고 구현하기
- 자바 언어의 정확한 이해를 통한 문제 해결하기(객체지향, 알고리즘 문제 등)
1.프로그래밍을 배운다
2.시스템을 개발
3.문제 해결(+을 하기 위한 끊임없는 공부)
용어 정리
- JDK(Java Development Kit) : 자바에서 제공되는 개발용 라이브러리(계속 버전이 업그레이드 되고 있다)
- JRE(Java Runtime Environment) : 자바 프로그램이 실행되는 환경(8.0까지 무료로 제공 됨)
- JVM(Java Virtual Machine) : 자바 가상 머신으로 프로그램이 실행되는 환경인 JRE가 설치되어 있어야 한다