본문 바로가기

나의 방통대 기록

[JAVA] java와 객체지향 프로그래밍 기초

728x90
반응형


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) 기본 개념 

  1. 클래스(Class): 자바에서 클래스는 객체를 생성하기 위한 템플릿이며, 객체의 상태와 행위를 정의합니다. 클래스는 필드(인스턴스 변수)와 메서드로 구성되며, 객체를 생성할 때 클래스를 기반으로 객체의 인스턴스가 생성됩니다.
  2. 객체(Object): 클래스의 인스턴스를 의미하며, 객체는 클래스의 구조와 동작을 가지고 있습니다. 객체는 클래스를 토대로 생성되며, 각각의 객체는 독립적인 상태를 가질 수 있습니다.
  3. 인스턴스 변수(Instance Variable): 클래스의 멤버 변수로, 객체의 상태를 나타내는 데이터를 저장하는 변수입니다. 각 객체마다 고유한 인스턴스 변수를 가지며, 객체의 속성을 나타내고 객체 간에 데이터를 공유할 수 있습니다.
  4. 메서드(Method): 클래스에 정의된 동작이나 기능을 구현하는 함수입니다. 메서드는 객체의 행위를 정의하고, 필드의 값을 조작하거나 연산을 수행하는 등의 작업을 수행할 수 있습니다.
  5. 생성자(Constructor): 클래스의 인스턴스를 생성할 때 호출되는 특별한 메서드입니다. 생성자는 객체의 초기화를 담당하며, 인스턴스 변수를 초기화하거나 객체 생성 시 필요한 작업을 수행합니다.
  6. 상속(Inheritance): 클래스 간에 코드를 재사용하기 위한 개념으로, 한 클래스가 다른 클래스의 특성을 상속받아 확장하여 사용할 수 있습니다. 상속을 통해 기존 클래스의 기능을 재정의하거나 확장할 수 있습니다.
  7. 인터페이스(Interface): 클래스가 구현해야 하는 메서드의 목록을 정의하는 추상 형식입니다. 인터페이스는 클래스간에 일관된 동작을 보장하기 위해 사용되며, 클래스는 인터페이스를 구현하여 인터페이스에 정의된 메서드를 구현해야 합니다.

- 클래스는 객체를 만들기 위한 일종의 설계도! 인스턴스는 구체적인 제품! 

 

2) 자바 프로그램

: 클래스가 프로그램 구성의 기본 단위

: 데이터(필드)와 알고리즘(메소드)이 클래스에 캡슐화되어 있음

: 클래스 정의로부터 객체들이 만들어지고 객체들 간의 상호작용으로 프로그램이 동작함

 

- c프로그램으로 작성한 파일

- java 프로그램으로 작성한 파일

 

 

 

 

- 학습 정리 

  1. Java 프로그램의 기본 구성단위는 클래스이다.
  2. Java에서는 변수의 자료형에 대한 검사가 엄격하다.
  3. Java 프로그래밍을 위해서 JDK(자바 개발 환경 구축, 컴파일러, 디버깅도구등등)를 설치해야 한다.
  4. Java 소스는 컴파일된 후, 바이트코드가 Java 플랫폼에서 실행된다.
  5. Java 플랫폼은 Java VM(자바 가상 머신, 자바 실행환경, 바이트 코드 해석, 메모리관리, 스레드 관리)과
    Java API(네트워킹, 파일 입출력, 데이터베이스 연동등 다양한 API)로 구성된다.
  6. main( ) 메소드의 형식은 public static void main(String[ ] args) 이다.
    -> main() 메소드는 자바 프로그램의 실행 진입점(entry point)이기 때문이다. 
    모든 자바 애플리케이션은 main() 메소드를 가져야하고, JVM은 이 메소드를 찾아 실행을 시작한다.
728x90
반응형