자바의 특징
1. 운영체제에 독립적
- JRE(JVM: 자바 가상머신+표준 클래스 라이브러리)가 설치되어 있는 모든 운영체제에서 실행 가능
2. 객체 지향 언어(OOP, Object Oriented Programming)
- 모든 기능을 객체(부품)로 만들고 조립하여 프로그램을 실행하기 때문에 유지보수가 쉽고 확장성이 높음
3. 함수형 프로그래밍 지원
- 컬렉션의 요소를 필터링, 매핑, 집계처리하기 쉬워지고 코드가 간결해짐
4. 자동 메모리 관리
- 개발자가 직접 메모리를 관리해야 하는 C, C++와 달리 가비지 컬렉터(Garbage Collector)를 통해 자동으로 사용하지 않는 메모리 수거
JVM과 JDK
- JVM(Java Virtual Machine)
컴파일된 자바 언어인 바이트코드를 운영체제 맞는 기계어로 변환해줌
자바 코드로 작성한 프로그램을 해석해 실행시키는 프로그램
JVM이 있기 때문에 자바가 운영체제에 독립적일 수 있으며, 반면 JVM을 거치기 때문에 C나 C++에 비해 속도는 느림
- JRE(Java Runtime Environment) : JVM + 표준 클래스 라이브러리
- JDK(Java Development Kit) : JRE + 개발에 필요한 도구
- 자바 프로그램 실행은 JRE만 설치해도 가능하지만, 개발을 위해선 JDK 설치 필요
클래스 정의
public class Main {
...
}
- 접근 허용 범위가 public인 Main이라는 이름의 클래스 정의
- 클래스 안에서 코드 작성 가능
- 접근 제어자 public과 클래스는 추후 학습
메서드
- 어떠한 기능*을 수행하기 위한 일련의 코드들의 집합체
어떠한 기능? → 데이터를 입력받아 해당 데이터에 일련의 처리를 가함으로써 만들어낸 결과값을 반환하는 것
- 클래스 내에 포함되어 있는 함수
- 자바는 객체지향 언어이며, 모든 코드를 클래스 내에 작성하기 때문에 함수보다는 메서드라는 용어 사용
메서드 정의
- 메서드가 어떻게 동작해야 하는지 기술
A main(B C) {
D
}
반환타입 메서드명(매개변수타입 매개변수명) {
메서드_바디
}
A(반환 타입) - 메서드가 반환할 반환값의 종류 및 유형(데이터 타입)
B C(매개변수타입 매개변수명) - 메서드 외부에서 내부로 전달한 값을 할당받아 저장함으로써, 메서드 내부에서 사용 가능한 변수
D(메서드 바디) - 구체적으로 메서드가 수행하는 기능에 대한 코드. return 키워드를 이용해 값 반환
main 메서드 정의
public static void main(String[] args) {
...
{
- main 메서드는 자바의 진입점 함수(자바 코드 소스 파일을 실행하면 가장 먼저 실행되는 메서드)
- 자바 소스 코드 작성 시 반드시 main 메서드가 있어야 함
"Hello, World!" 출력 메서드 정의
public static void main(String[] args) {
System.out.print("Hello, World!");
}
메서드 호출(실행)
메서드명(매개변수값1, 매개변수값2);
- 메서드 이름에 호출 연산자()를 붙여 호출
- 메서드 정의 시 입력한 매개변수 타입과 개수에 맞게 호출 연산자 안에 값 입력
의사 코드(슈도 코드, psuedo code)
- 프로그래밍 언어로 코드를 작성하기 전에, 무엇을 어떤 과정을 통해 만들지 사람의 언어로 먼저 작성한 코드
- 애플리케이션 실행을 위한 코드 작성 시, 세세한 기능까지 계획한 후 정확히 제작해야 하기 때문에 작성
- 처음 학습할 때에는 작은 규모의 계획에도 의사코드를 작성하는 습관을 기르는 것이 중요
'백엔드 개발자 공부 > Java' 카테고리의 다른 글
[Java] 제어문 (1) - 조건문 (0) | 2022.08.31 |
---|---|
[Java] 연산자 & 콘솔입출력 (0) | 2022.08.30 |
[Java] 문자열 (0) | 2022.08.30 |
[Java] 타입 (0) | 2022.08.30 |
[Java] 변수 (0) | 2022.08.30 |