본문 바로가기

Java/기본 개념

프로그래밍 기초

▶ 프로그래밍

1) 프로그램 (Program)

  • 컴퓨터가 인식할 수 있는 명령어의 나열(집합)

2) 프로그래밍 (Programming)

  • 프로그램을 작성하는 과정(= 코딩)

▶ 프로그래밍 언어

  • 프로그램을 작성하기 위한 언어체계, 사람이 컴퓨터와 소통하게 하는 요소
  • 자바(Java)는 대표적인 프로그래밍 언어로, 고급 언어에 속함
    프로그래밍 언어는 사람이 이해하기 쉬울수록 고급 언어에 속하고, 컴퓨터가 이해하기 쉬울수록 저급 언어
    대표적인 저급 언어: 어셈블리어 (Assembly language)

▶ Java 프로그래밍 언어 특징

  1. 운영체제(OS)에 독립적
    - 운영체제에 관계 없이 동일 코드로 동작함. 이식성이 높다,라고도 표현
    - OS에 맞는 자바 가상 머신(JVM)이 필요함. JVM에서 Java 코드를 먼저 실행하고 이를 완벽한 실행 파일로 바꿔줌
  2. 객체지향 프로그래밍(OOP) 언어
    - 여러 객체의 협력을 통해 프로그램을 구현하는 언어
    - 공통으로 사용하는 부분을 수정하지 않고도 프로그램에 새 기능을 쉽게 추가할 수 있음
    - 유지보수가 쉽고 확장성이 좋음
  3. 사용하기 쉬운 언어
    - 능률적이고 명확한 코드 작성 가능
    - 다른 언어의 단점 보완(포인터, 메모리 관리)
  4. 자동 메모리 관리(Garbage Collection)
    - 자바는 자동으로 동적 메모리를 주기적으로 수거함
  5. 동적 로딩 지원
  6. 멀티쓰레드 지원
  7. 네트워크와 분산환경 지원

▶ 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