Java/[패스트캠퍼스] Java & SpringBoot로 시작하는 웹 프로그래밍
Ch 01. 자바 기초 - 01. 자바 프로그래밍 시작하기
hinote
2022. 8. 10. 15:51
프로그래밍이란?
- 프로그래밍 : 컴퓨터가 일을 수행 하도록 프로그래밍 언어로 명령어 집합(프로그램)을 만드는 일
- 컴파일 : 프로그래밍 언어를 컴퓨터가 실행 가능한 기계어로 만드는 일 - 사람이 만든 언어이기 떄문에 기계가 이해할 수 있도록 해야 함
- 컴파일러 : 기계어로 바꾸어 주는 프로그램 ( ex. 자바 컴파일러, gcc )
모든 프로그래밍 언어가 있다고 하면 그에 맞는 컴파일러가 있다
자바 프로그래밍
- 자바의 역사 : 1991년 제임스 고슬링을 비롯한 선 마이크로 시스템스 연구원들이 처음 개발 가전, 휴대용 장치에 사용되는 소프트웨어 언어로 개발됨. 안정성이 중요
- 가전제품과 휴대장치에는 C언어와 C++을 아직 많이 쓰고 있었음 - 좋은 언어이긴 한데 시스템이 다운될 확률이 높음 (안정성이 낮음)
- 자바 프로그래밍의 특징 : 굉장히 안정적이기 때문에 다운시키기 어려움, 기존 언어들의 모호한 요소들을 없애버림
운영체게 플랫폼에 영향을 받지 않음
객체 지향 언어이기 때문에 유지보수가 쉽고 확장성이 좋다 -> 객체지향언어의 특징임
풍부한 기능이 제공되는 오픈 소스이다 (jdk가 제공이 됨) , 자바 자체에서 제공하는 라이브러리가 상당하기 때문에 그걸 사용해서 쉽고 효율적인 프로그래밍 가능
자바와 연동되는 여러가지 오픈소스들이 있음 (프레임워크들)
객체 지향 프로그래밍이 무엇인가?
==아침에 일어나서 -> 씻고 -> 밥을 먹고 -> 학교를 간다 ( 시간의 흐름 순 : 절차 지향 언어 ex.c언어)==
==홈쇼핑에서 주문할때
홈쇼핑에는 회원이 있고, 회원이 어떤 상품을 보고, 주문을 한다, 주문을 하기 위한 택배회사의 주문시스템과 연동(배송) , 회원에게로 발송
-> 모든게 각각의 객체임 객체간의 협력이 이루어지는 이것이 객체지향 프로그래밍==
- 프로그램의 구현을 시간의 흐름순이 아닌 객체간의 관계와 협력을 기반으로 프로그램 하는 것
- Object oriented programming(OOP) 이라고 함 ( cf. 절차 지향 프로그래밍 procedural programming )
- 사용 하는 언어 : Java, C++, C#, Python, JavaScript, Ruby 등 다수
자바로 프로그래밍을 하면 좋은 이유는 뭔가요? (객체 지향 프로그래밍의 장점)
- 재사용성
- 유지보수
- 코드 관리
- 신뢰성 높은 프로그램
자바를 활용한 프로그래밍
- 웹 서버 구현 : 스프링과 함께 많이 쓰임
- 안드로이드 프로그래밍 : 포플린과 함께 많이 쓰임
- 게임 프로그래밍 : 사실 아주 많이 쓰이진 않음 대표적으로 마인크래프트가 있음
용어 정리
- JDK(Java Development Kit) : 자바에서 제공되는 개발용 라이브러리. 계속 버젼이 올라가고 있음
- JVM(Java Virtual Machine) : 자바 가상 머신으로 프로그램이 실행되는 환경인 JRE 가 설치되어 있어야 함
- JRE(Java Runtime Environment) : 자바 프로그램이 실행되는 환경. 8.0까지 무료로 제공 됨
-> jre를 깔면 jvm이 깔려있다