▶ 프로그래밍
1) 프로그램 (Program)
- 컴퓨터가 인식할 수 있는 명령어의 나열(집합)
2) 프로그래밍 (Programming)
- 프로그램을 작성하는 과정(= 코딩)
▶ 프로그래밍 언어
- 프로그램을 작성하기 위한 언어체계, 사람이 컴퓨터와 소통하게 하는 요소
- 자바(Java)는 대표적인 프로그래밍 언어로, 고급 언어에 속함
프로그래밍 언어는 사람이 이해하기 쉬울수록 고급 언어에 속하고, 컴퓨터가 이해하기 쉬울수록 저급 언어
대표적인 저급 언어: 어셈블리어 (Assembly language)
▶ Java 프로그래밍 언어 특징
- 운영체제(OS)에 독립적
- 운영체제에 관계 없이 동일 코드로 동작함. 이식성이 높다,라고도 표현
- OS에 맞는 자바 가상 머신(JVM)이 필요함. JVM에서 Java 코드를 먼저 실행하고 이를 완벽한 실행 파일로 바꿔줌 - 객체지향 프로그래밍(OOP) 언어
- 여러 객체의 협력을 통해 프로그램을 구현하는 언어
- 공통으로 사용하는 부분을 수정하지 않고도 프로그램에 새 기능을 쉽게 추가할 수 있음
- 유지보수가 쉽고 확장성이 좋음 - 사용하기 쉬운 언어
- 능률적이고 명확한 코드 작성 가능
- 다른 언어의 단점 보완(포인터, 메모리 관리) - 자동 메모리 관리(Garbage Collection)
- 자바는 자동으로 동적 메모리를 주기적으로 수거함 - 동적 로딩 지원
- 멀티쓰레드 지원
- 네트워크와 분산환경 지원
▶ JVM(Java Virtual Machine)
- Java를 실행하기 위한 가상 기계로, 운영체제(OS)에 관계없이 독립적으로 동작
→ C언어: OS가 코드를 직접 해석하기 때문에, OS에 따라 코드가 다른 부분이 존재
→ Java: OS에 맞는 JVM을 설치하여 OS 종류 관계없이 JVM이라는 가상머신이 Java 코드를 동일하게 해석 - 자바 프로그램 실행 환경을 만들어주는 소프트웨어로, Java 코드를 컴파일하여 .class 바이트 코드로 만들면 이 코드가 자바 가상 머신 환경에서 실행
▶ Java 개발 환경
- 설치 범위 : 사용자 / 개발자 입장에 따라 설치하는 범위가 달라짐
▶ 자바 프로그래밍 기본
1) Class
- 객체를 만들기 위한 일종의 설계도
- 자바에서 모든 코드는 반드시 클래스 안에 존재해야 하며,
서로 관련된 코드들을 그룹으로 나누어 별도의 클래스를 구성 - 클래스들이 모여 하나의 Java 애플리케이션 구성
public class 클래스명 {
/*
* 주석을 제외한 모든 코드는 블록 클래스 { } 내에 작성
*/
}
public static void main(String[] args){
System.out.println("Hello World!" + "2024");
System.out.println("자바 배우는 중");
System.out.println("2024-10-16");
}
public static void main(String[] args){
System.out.println("1 + 2"); // " " 안에 작성된 코드는 단순 문자열로 인식
System.out.println(1 + 2); // " " 안에 작성되지 않는 코드는 숫자, 변수로 인식
// "문자열" + 숫자 함께 작성
System.out.println("100 - 78 = " + 22);
System.out.println("100 - 78 = " + (100-78));
// + : 기호 역할
// 문자열 + 숫자 또는 문자열 + 문자역 -> 이어쓰기
// 숫자 + 숫자 = 덧셈연산 결과
// 자바는 사칙연산의 우선 순위를 그대로 따른다
System.out.println("23 * 11 = " + 23 * 11);
}
2) 주석 (comment)
- 코드에 대한 설명이나 그 외 다른 정보를 넣을 때 사용하는 것으로
컴파일 시 컴파일러가 주석 부분은 건너 뜀 (컴파일러가 해석하지 않는 부분)
※ 컴파일러: 코드를 2진수로 변환하는 번역기 - /* */ : 범위 주석, /* 와 */ 사이 내용은 주석으로 간주
- // : 한 줄 주석, // 뒤의 내용은 주석으로 간주
3) main (main method)
- public static void main(String[ ] args)는 고정된 형태의 메소드 선언부로
Java 애플리케이션을 실행하는데 필요한 메소드(프로그램 실행 시 java.exe에 의해 호출됨) - 모든 클래스가 main 메소드를 가지고 있어야 하는 것은 아니지만,
하나의 Java 애플리케이션에는 main 메소드를 포함한 클래스가 반드시 하나 이상 존재해야 함
public class 클래스명{
public static void main(String[] args){ // 메인 메소드의 선언부
// 실행될 코드를 작성
}
}
'Java > 기본 개념' 카테고리의 다른 글
변수(Variable) (0) | 2024.12.16 |
---|---|
컬렉션(Collection) (2) | 2024.11.17 |
스레드(Thread) (0) | 2024.11.17 |
네트워크(Network) (0) | 2024.11.17 |
입출력 (IO_Input / Output) (3) | 2024.11.17 |