일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- java 1000번 A+B
- 리스코프치환원칙
- 블랙잭 회고
- 우테코
- There isn't anything to compare.
- 윤년계산하기
- Getter Setter
- JDK
- throw 와 throws 차이
- 상수와 Enum
- 자바로 만들수 있는 것
- 백준
- 자판기미션
- ControllerTest
- 테스트 성능 개선
- ServiceTest
- 우아한테크코스
- 제임스고슬링
- 프로젝트 패키지 구조
- PR 오류
- JXM
- 방어적 복사
- 객체지향적인 설계
- 자바 버전 다운 그레이드
- 자바의 종류
- Oracle JDK와 OpenJDK의 차이
- 인수테스트
- 우테코4기
- 자바 4334
- 상근날드
- Today
- Total
개발새발
어서와, 자바는 처음이지? (자바란 무엇인가) 본문
안녕하세요 여러분!
오늘은 개발 공부의 가장 기초인 자바를 공부하기에 앞서
자바라는 언어는 어떤언어인가? 이해하는 시간을 갖도록 하겠습니다.
자바의 시작
ㅋㅋㅋㅋㅋㅋㅋㅋ
갑자기 사진이 나와서 깜짝 놀라셨죠.
이분은 자바의 아버지
제임스 고슬링(James Gosling) 입니다.
자바는 고슬링씨가 다니던 회사에서
가정용 전자제품에 사용가능한 작은 컴퓨터 언어를
설계하는 Green 프로젝트에서 시작 되었는데요,
전자제품은 많은 종류의 CPU로 만들어지기 때문에
특정한 CPU에 의존하지 않도록 설계 되었고,
그것이 바로 가상 가상 기계 개념(virtual machine) 입니다!!
자바의 특징
1. 객체 지향
자바는 클래스나, 메소드같은 객체별로 코드를 작성하고 조립하여 프로그램을 완성합니다.
객체 지향을 하면 다른 기능을 구현할 때 코드 중복 없이 재사용이 가능하다는 건데요,
그래서 보다 빠르고 신뢰도 높은 개발이 가능합니다!!
2. 분산처리 지원
자바는 네트워크상에서 동작되는 것을 기본으로 설계되어 TCP/IP, HTTP 같은 프로토콜을 처리할 수 있는 라이브러리가 있습니다!! 그렇기 때문에 보다 쉽게 네트워크에 접근하여 프로그램을 개발할 수 있습니다.
(URL을 이용하여 네트워크에 접근 가능)
3. 안전성과 이식성
자바는 위에서 말씀드린 것 처럼 네트워크 접근이 가능하기 떄문에 처음부터 아래의 작업들을 제한했습니다.
- 파일을 허락없이 읽기/쓰기
- 자신의 프로세스 밖에 메모리 접근
- 실행 스택을 벗어나 접근
따라서 보다 안전하게 개발이 가능하며,
데이터들이 고정된 형식으로 저장, 전송되고 구현에 따라 달라지는 언어 스펙이 없기 때문에
컴퓨터 이식성이 좋다.
ex) int 32bit
4. 동적
다이나믹한 삶의 다이나믹한 자바 ㅎㅎ
자바는 변화하는 환경에 적응하도록 설계되었습니다. 라이브러리는 실행 파일에 상관 없이 새로운 기능을
추가 가능하도록 설계되어 있기때문에 다시 컴파일할 필요가 없다.
이정도가 이론입니다,,
자바를 사용하기 위해서는 프로그램을 다운받고, 여러가지 설정을 해야하는데,
그건 다음 포스팅에서 계속하도록 하겠습니다.
'java' 카테고리의 다른 글
final 과 static final 의 차이? (0) | 2022.02.20 |
---|---|
private 생성자를 선언하는 목적이 뭘까? (0) | 2022.02.20 |
자바란 Write Once, Run Everywhere. (0) | 2020.12.20 |
자바 개발 환경 설치하기2(이클립스 설치하기) (0) | 2020.03.11 |
자바 개발 환경 설치하기1(JRE와 JDK의 차이점) (0) | 2020.03.11 |