개발지식/CS공부

[Java] java와 객체지향 프로그래밍

mim 2022. 3. 5. 14:56
반응형

1. 자바 언어와 자바 프로그램

1) Java 언어의 기원

  • Sun Microsusytems의 제임스 고슬링
  • 1995년 Java와 HotJava 발표 → 웹의 확산과 함께 주목을 받음
  • 1996년 1월 JDK 1.0 발표 (java development kit) 
    → 2021년 9월 Java SE 17버전이 가장 최신 버전으로 급속도로 발전됨
  • 2009년 Oracle이 Sun을 인수함

2) Java 언어의 특징

  • C/C++ 언어와 유사하나 단순함
  • 플랫폼에 독립적
  • 완전한 객체지향 언어
  • 웹 또는 네트워크 프로그래밍이 용이
  • 엄격한 자료형의 검사
  • 예워 처리 기능 제공
  • 멀티 쓰레딩 지원

3) Java 프로그램의 실행

java 소스 프로그램의 확장자는 .java

바이트 코드

  • java 소스를 컴파일한 결과물
  • 확장자는 .class이며 클래스 파일이라고도 함
  • 자바 플랫폼이 Java VM에서 실행 가능한 코드
  • "write once, run anywhere"

4) 애플릿케이션과 애플릿

애플릿케이션

  • Java 플랫폼에서 싱행되는 프로그램
  • 실행을 위해 main() 함수가 필요함

애플릿

  • HTML 웹 페이지에 포함되어 웹 브라우저를 통해 실행
<applet code="HelloApplet.class" width=200 height=100></applet>

2. Java 플랫폼

1) Java 플랫폼

플랫폼

  • 프로그램 실행을 위한 하드웨어와 소프트웨어 환경
  • Java 플랫폼은 Java 프로그램의 개발과 실행을 위한 환경
  • 운영체제에 맞는 Java 플랫폼을 설치해야함

2) Java 플랫폼의 구성

Java VM 

  • java 프로그램의 실행환경을 제공하는 가상 기계, 혹은 구동엔진
  • 실행에 필요한 사랑흘 관리하고 메모리 정리를 자동으로 수행(예. GC)

Java API

  • 프로그램의 개발에 필요한 클래스 라이브러리
  • 패키지(클래스의 묶음)들이 계층 구조로 분류되어 있음

3) JDK의 설치

1. Orcle 홈페이지에서 다운로드 받아 설치

2. 환경 변수 PATH 수정

3. 환경변수 JAVA_HOME을 생성

4) Eclipse의 설치

(이전 포스팅 참조)

 

[Java] day1.자바 프로그래밍 시작하기

자바 언어의 특징 운영체제에 독립적이다. (이식성 우수) 다른 언어의 단점(포인터, 메모리관리)을 보완하여 상대적으로 사용하기 쉽다. 풍부한 오픈 소스가 제공된다. 멀티 쓰레드 환경을 제공

tm-im.tistory.com

 

3. Java 객체지향 프로그래밍

1) 클래스와 객체

추상화 

  • 구체적인 모든 사실이 아니라 전형적이고 필요한 부분만을 발췌하여 사물을 이해하고 표현하는 것

클래스

  • 클래스는 객체를 만들기 위한 모형 또는 틀
  • 공통적인 특징을 가지는 객체들을 추상화 하기 위한 수단
  • 객체의 상태는 필드(데이터)로, 행위는 메소드로 구현됨
  • 객체는 특정 클래스의 인스턴스임

2) 객체지향 프로그램

Java 프로그램

  • 클래스가 프로그램 구성의 기본단위
  • 데이터(필드)와 알고리즘(메소드)이 클래스에 캡슐화되어 있음.
  • 클래스 정의로부터 객체들이 만들어지고 객체들 간의 상호 작용으로 프로그램이 동작함

국비로 자바를 배우고 있지만 방송대 과목으로도 다시 한번 수강하기로 했다.

복습도 하면서 국비에서는 넘어간 부분들도 배울 수 있을거라 생각함.

책의 목차를 살펴보니 5장 람다식, 11장 스레드, 12장 AWT 부분이 초면이었다! 

 

 

Reference

Java 프로그래밍 / KNOUPress 

 

Java프로그래밍 - 한국방송통신대학교 출판문화원

Java프로그래밍

press.knou.ac.kr

 

반응형