Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- aws #아키텍트 #과정 #vpc #인프라 구축
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #머신러닝 #AI #서버 #자동화 #SQL #기본문법 #데이터베이스
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #OSI #ISO #AI #서버 #자동화 #SQL #기본문법 #데이터베이스 #DBMS #Oracle #MongoDB #아키텍쳐 #DB
- aws #아키텍트 #과정 #vpc #인프라 구축 #t.g #target group #alb #application #load #balancer #web #server
- aws #아키텍트 #과정 #vpc #인프라 구축 #second nat #gateway #routing table #route53 #고가용성 #private subnet #
- aws #아키텍트 #과정 #vpc #인프라 구축 #rds #replica #복제본 #aurora #database #고가용성
- aws #아키텍트 #과정 #vpc #인프라 구축 #rds #endpoint #cloudwatch #monitoring
- aws #아키텍트 #과정 #vpc #인프라 구축 #amazon sns #server #less #architecture
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #머신러닝 #AI #서버 #자동화 #SQL #KDT #기본문법 #데이터베이스 #Computer #Science #CPU #메모리
- aws #아키텍트 #과정 #vpc #인프라 구축 #s3 #bucket #객체 스토리지 #objects storage #events #upload #알림
- aws #아키텍트 #과정 #vpc #인프라 구축 #aurora #database #rds #rdbs #load #balancer #web #page #haproxy
- aws #아키텍트 #과정 #vpc #인프라 구축 #php #alb #application #load #balancer #security #group #igw #ec2 #vpc #virtual #private #cloud
- aws #아키텍트 #과정 #vpc #인프라 구축 #alb #load balancer #t.g #target #group #haproxy #high ability #db #replica #region
- 업로드 #lambda #함수 #모바일 이미지 #썸네일 이미지
- aws #아키텍트 #과정 #vpc #인프라 구축 #db #장애조치 #reand only #replica #events
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #머신러닝 #딥러닝 #AI #서버 #자동화 #SQL #기본문법 #데이터베이스 #DBMS #Oracle #MongoDB #아키텍쳐 #DB
- aws #아키텍트 #과정 #vpc #인프라 구축 #auto scailling #lauch template #ec2 instace #private #subnet
- 공간복잡도 #공간자원 #캐시메모리 #SRAM #DRAM #시간복잡도
- aws #아키텍트 #과정 #vpc #인프라 구축 #s3 #bucket #객체 #스토리지 #isci #이미지 #업로드
- 프로세스 #CPU #시공유 #커널
- aws #아키텍트 #과정 #vpc #인프라 구축 #sqs #trigger #python3.9 #패키지 #
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #머신러닝 #딥러닝 #AI #서버 #자동화 #SQL #기본문법 #데이터베이스
- 쓰레드 #쓰레드풀 #프로세스
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #머신러닝 #AI #서버 #자동화 #SQL #기본문법 #데이터베이스 #웹개발
- 썸네일 #이미지
- aws #아키텍트 #과정 #vpc #인프라 구축 #haproxy #round robin #process #high ability #auto scailling #app server #launch template
- aws #아키텍트 #과정 #vpc #인프라 구축 #ec2 #instance #launch #template #생성 #ami #amazone #machine #image
- 비트 #바이트 #이진수
- aws #아키텍트 #과정 #vpc #인프라 구축 #sqs #message #queue #sns구독
- aws #아키텍트 #과정 #vpc #인프라 구축 #haproxy #고가용성 #테스트 #alb #application #load balancer #application
Archives
- Today
- Total
요리사에서 IT개발자로
Java 1장(with 이것이 자바다) 본문
프로그래밍 언어란
컴퓨터가 이해할 수 있는 언어 (Machine Language)
기계어는 0과 1로 이루어진 이진 코드
프로그래밍 언어는 고급언어와 저급 언어로 구분된다.
고급언어
- 컴퓨터와 대화 할수 있도록 만든 언어 중 사람이 이해할 수 있는 언어.
저급언어
- 기계어에 가까운 언어 대표적으로 어셈블리어
대표적인 프로그래밍 언어인 C, C++, Java는 모두 고급언어다.
자바란?
이식성이 높은 언어이다.
이식성
- 서로 다른 실행 환경을 가진 시스템 간 프로그램을 옮겨 실행 할 수 있는것.
- 예를 들어 MS 윈도우 에서 실행하는 프로그램 -> 리눅스 or 유닉스에서 실행 = 되면 이식성이 높지만 안되면 낮다.
- 자바 실행 환경(JRE : Java Runtime Environment) 이 설치 되어 있는 모든 운영체제에서 실행이 가능하다.
객체지향 언어이다.
- 프로그램 개발 기법으로 부품에 해당하는 객체를 만든다 -> 조립 및 연결한다 -> 전체 프로그램을 완성한다.
- 이것을 객체 지향 프로그래밍(OOP : Object Oriented Programming) 이라 한다.
- 자바는 100% 객체 지향 언어이다.
함수적 스타일 코딩을 지원한다.(람다식 : Lambda Expressinons)
메모리를 자동으로 관리한다.
- 객체를 생성할 시 자동적으로 메모리 영역을 찾아서 할당하고 사용이 완료되면 쓰레기 수집기(Garbage Collector)를 실행시켜 자동적으로 사용하지 않는 객체를 제거시켜준다.
다양한 애플리케이션을 개발할 수 있다.
- 윈도우, 리눅스 유닉스, 맥 등 다양한 운영체제(OS:Operating System)에서 실행되는 프로그램을 개발할 수 있다.
멀티 스레드(Multi-Thread)를 쉽게 구현할 수 있다.
- 하나의 프로그램이 동시에 여러가지 작업을 처리해야 할 경우와 대용량 작업을 빨리 처리하기 위해 서브 작업으로 분리해서 병렬처리하는 프로그래밍.
동적 로딩(Dynamic Loading)을 지원한다.
- 자바 어플리케이션은 여러개의 객체가 연결되어 실행될 때 모든 객체가 실행되지 않고 객체가 필요한 시점에 클래스를 로딩해서 실행한다.
- 개발 완료 후 유지보수가 발생하더라도 해당 클래스만 수정하면 되기에 전체 어플리케이션을 다시 컴파일할 필요가 없다.
막강한 오픈소스 라이브러리가 풍부하다.
- 자바는 오픈소스 (Open Source) 언어이기에 자바 프로그램에서 사용하는 라이브러리 또한 오픈소스가 넘쳐난다.
Java SE(Standard Edition) - 기본 에디션
- Java SE는 자바 프로그램들이 공통적으로 사용하는 자바 가상기계(JVM: Java Virtual Machin)를 비롯해서 개발에 필수적인 도구와 라이브러리 API를 정의한다.
Java EE(Enterprise Edition) - 서버용 애플리케이션 개발 에디션
- Java EE는 분산 환경(네트워크, 인터넷)에서 서버용 애플리케이션을 개발하기 위한 도구 및 라이브러리 API를 정의한다
자바 가상 기계(JVM)
- 운영체제는 자바 프로그램을 바로 실행할 수 없다.
- 자바 프로그램은 완전한 기계어가 아닌 중간 단계의 바이트 코드이다.
- 이를 해석하고 실행할 수 있는 가상의 운영체제가 JVM(Java Virtual Machine)이다.
특징
- 실제 운영체제를 대신해서 자바 프로그램을 실행하는 가상의 운영체제 역할을 한다.
- 바이트 코드는 모든 JVM에서 동일한 실행결과를 보장한다.
- JVM은 운영체제에 종속적이다.
자바실행 프로그램은 반드시 클래스(class) 블록 main() 메소드(method) 블록으로 구성되어야 한다.
클래스 : 필드 또는 메소드를 포함하는 블록
메소드 : 어떤 일을 처리하는 실행문들을 모아 놓은 블록
클래스 특징
- 클래스의 이름은 개발자가 마음대로 정할 수 있다.
- 주의할 점은 소스 파일명과 대소문자가 일치해야한다.
- 숫자로 시작할 수 없고 공백을 포함해서도 안된다.
Public class Hello{
} // Hello가 클래스 이름
메소드 특징
- 메소드 이름도 개발자가 마음대로 정할 수 있지만 main() 메소드 만큼은 다른 이름으로 바꾸면 안된다.
- java.exe로 JVM을 구동시키면 main() 메소드를 찾아서 실행시키기 때문이다.
- main()메소드 프로그램 실행 진입점을 "entry point"라 한다.
- main()메소드가 없거나 잘못 작성하면 클래스를 실행 할 수없다.
public static void main (String[] args){
System.out.println("Hello, welcome to the java world!")'
} //main이 메소드
실행문 끝에는 반드시 세미콜론 ; <- 을 붙여야한다.
그렇지 않으면 컴파일 에러가 발생한다.
주석이란
프로그램 실행과는 상관없이 코드에 설명을 붙인 것을 말한다.
특징
- 복잡한 코드일수록 주석을 해놓을 경우 전체 코드를 이해하기 쉽고 수정이 용이하다.
- 문자열(" ") 내부에는 올 수 없다.(데이터로 인식된다)
주석 기호 | 설명 |
// | //부터 라인 끝까지 주석을 처리한다.(행 주석) |
/* ~ */ | /*와 */사이에 있는 모든 범위를 주석으로 처리한다.(범위 주석) |
/*
작성자 : 김형석
작성일 : 2024, 04 ,09
*/
public class Hello{
//프로글매 실행 진입점
public static void main(String[] args){
//콘솔에 출력하는 실행문
System.out.println("Hello, welcome to the java world!")'
} //end of main
} //end of class
실행문과 세미콜론(;)
- 실행문은 변수 선언, 값 저장, 메소드 호출에 해당하는 코드
int x = 1; //변수 x를 선언하고 1을 저장
int y = 2; //변수 x를 선언하고 2를 저장
int result = x + y; //변수 result를 선언하고 변수 x와 y를 더한 값을 저장
System.out.println(result); //콘솔에 출력하는 메소드 호출
int x= 1; int y = 2;
int result =
x + y;
System.out.println(result);
둘다 같은 값 3 이 나온다.
public class RunStartemetExample{
public static void main(String[] args){
int x = 1; // 변수 x를 선언하고 1을저장
int y = 2; // 변수 y를 선언하고 2를 저장
int result = x + y; //변수 result를 선언하고 x와 y를 더한 값을 저장
System.out.println(x + "+" + y+ "=" + result); //콘솔에 출력하는 메소드 호출
}
} //1+2 = 3
반응형
'Java' 카테고리의 다른 글
스파르타 코딩클럽 부트캠프 (Java 문법 1장) (2) | 2024.04.22 |
---|---|
Eclipse 단축키 정리(with 자바의 정석) (0) | 2024.04.18 |
Java 2장(with 이것이 자바다) (0) | 2024.04.11 |
Java 2장(with 자바의 정석) (0) | 2024.04.10 |
Java 1장(with 자바의 정석) (1) | 2024.04.03 |