1. 자바 언어의 특징
- c/c++ 언어와 문법적으로 유사하나 훨씬 단순하다
- 플랫폼에 독립적이다 (자바 플랫폼이 있으면 어떠한 운영체제던 수정없이 실행이 가능하다)
- 완전한 객체지향 언어이다
- 엄격한 자료형의 검사가 가능하다
- 예외 처리 기능을 제공하고 멀티 스레딩을 지원한다
2. 자바 프로그램의 실행
- JAVA 소스 프로그램의 확장자는 .java이다
- 바이트 코드
: java 소스를 컴파일한 결과물, 확장자는 .class이다.
: 자바 플랫폼의 javaVM에서 실행 가능한 코드
3. 애플리케이션과 애플릿
- 애플리케이션
: java 플랫폼에서 실행되는 프로그램
: 실행을 위해 main() 함수가 필요함
- 애플릿
: html 웹페이지에 포함되어 웹 브라우저를 통해 실행
: 브라우저의 웹 클라이언트에서 html안에 <applet code> 태그 안에 class파일을 요청하여 실행 가능하다!
4. 자바 플랫폼이란?
- 플랫폼?
: 프로그램의 실행을 위한 하드웨어와 소프트웨어 환경
: java 플랫폼은 java 프로그램의 개발과 실행을 위한 환경
: 운영체제에 맞는 java 플랫폼을 설치해야 한다
- 자바 플랫폼
JAVA VM
: 자바 프로그램의 실행 환경을 제공하는 가상 기계이다.
: 자바 프로그램의 구동 엔진, 실행에 필요한 사항을 관리
: 메모리 정리를 자동으로 수행한다.
JAVA API
: 프로그램의 개발에 필요한 클래스 라이브러리
: 패키지(클래스 묶음)들이 계층 구조로 분류되어 있음
JDK
: JAVA SE Development Kit(JDK)를 설치
: 자신이 사용하는 운영체제에 맞는 것을 선택하고, 환경 변수도 설정해주면 된다!
- 간단한 JAVA 애플리케이션
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
- 주석
일반 주석: /* ...*/
javadoc을 이용한 api문서 만들기 : /** ... */
이후 내용을 무시 : //..
- 클래스의 정의
public class 클래스이름 : public class는 파일에 최대 1개. 파일 이름은 퍼블릭클래스의 이름.java
main(){...} : main()메소드의 형식은 public static void main(String[]args)
- 출력
System.out : 표준출력(화면출력)을 담당하는 객체, print() 또는 printIn()을 수행함
- 실행
프로그램 작성 : Hello.java로 저장
컴파일 명령 : >java Hello.java : 클래스이름.class가 만들어짐
실행명령 : >java Hello :Hello 클래스에서 main()메소드가 실행이 된다.
5. 객체지향 프로그래밍
1) 기본 개념
- 클래스(Class): 자바에서 클래스는 객체를 생성하기 위한 템플릿이며, 객체의 상태와 행위를 정의합니다. 클래스는 필드(인스턴스 변수)와 메서드로 구성되며, 객체를 생성할 때 클래스를 기반으로 객체의 인스턴스가 생성됩니다.
- 객체(Object): 클래스의 인스턴스를 의미하며, 객체는 클래스의 구조와 동작을 가지고 있습니다. 객체는 클래스를 토대로 생성되며, 각각의 객체는 독립적인 상태를 가질 수 있습니다.
- 인스턴스 변수(Instance Variable): 클래스의 멤버 변수로, 객체의 상태를 나타내는 데이터를 저장하는 변수입니다. 각 객체마다 고유한 인스턴스 변수를 가지며, 객체의 속성을 나타내고 객체 간에 데이터를 공유할 수 있습니다.
- 메서드(Method): 클래스에 정의된 동작이나 기능을 구현하는 함수입니다. 메서드는 객체의 행위를 정의하고, 필드의 값을 조작하거나 연산을 수행하는 등의 작업을 수행할 수 있습니다.
- 생성자(Constructor): 클래스의 인스턴스를 생성할 때 호출되는 특별한 메서드입니다. 생성자는 객체의 초기화를 담당하며, 인스턴스 변수를 초기화하거나 객체 생성 시 필요한 작업을 수행합니다.
- 상속(Inheritance): 클래스 간에 코드를 재사용하기 위한 개념으로, 한 클래스가 다른 클래스의 특성을 상속받아 확장하여 사용할 수 있습니다. 상속을 통해 기존 클래스의 기능을 재정의하거나 확장할 수 있습니다.
- 인터페이스(Interface): 클래스가 구현해야 하는 메서드의 목록을 정의하는 추상 형식입니다. 인터페이스는 클래스간에 일관된 동작을 보장하기 위해 사용되며, 클래스는 인터페이스를 구현하여 인터페이스에 정의된 메서드를 구현해야 합니다.
- 클래스는 객체를 만들기 위한 일종의 설계도! 인스턴스는 구체적인 제품!
2) 자바 프로그램
: 클래스가 프로그램 구성의 기본 단위
: 데이터(필드)와 알고리즘(메소드)이 클래스에 캡슐화되어 있음
: 클래스 정의로부터 객체들이 만들어지고 객체들 간의 상호작용으로 프로그램이 동작함
- c프로그램으로 작성한 파일
- java 프로그램으로 작성한 파일
- 학습 정리
- Java 프로그램의 기본 구성단위는 클래스이다.
- Java에서는 변수의 자료형에 대한 검사가 엄격하다.
- Java 프로그래밍을 위해서 JDK(자바 개발 환경 구축, 컴파일러, 디버깅도구등등)를 설치해야 한다.
- Java 소스는 컴파일된 후, 바이트코드가 Java 플랫폼에서 실행된다.
- Java 플랫폼은 Java VM(자바 가상 머신, 자바 실행환경, 바이트 코드 해석, 메모리관리, 스레드 관리)과
Java API(네트워킹, 파일 입출력, 데이터베이스 연동등 다양한 API)로 구성된다. - main( ) 메소드의 형식은 public static void main(String[ ] args) 이다.
-> main() 메소드는 자바 프로그램의 실행 진입점(entry point)이기 때문이다.
모든 자바 애플리케이션은 main() 메소드를 가져야하고, JVM은 이 메소드를 찾아 실행을 시작한다.