리셋 되지 말자

1일차-스프링 입문을 위한 자바 객체지향의 원리와 이해 본문

Java(폐지)/Java 공부

1일차-스프링 입문을 위한 자바 객체지향의 원리와 이해

kyeongjun-dev 2020. 7. 11. 16:02

예제 소스 : https://github.com/expert0226/oopinspring

JDK, JRE, JVM

  • JDK : Java Development Kit / 자바 개발 도구(자바 소스 컴파일러인 javac.exe를 포함하고 있다.)
  • JRE : Java Runtime Environment / 자바 실행 환경(자바 프로그램 실행기인 java.exe를 포함하고 있다.)
  • JVM : Java Virtual Machine / 자바 가상 기계

자바 프로그램의 개발과 구동

  1. .java 소스를 JDK를 이용해 프로그램으로 개발한다.(.java -> 목적파일 .class)
  2. JDK로 개발된 프로그램은 JRE에 의해 가상의 컴퓨터인 JVM 상에서 구동된다.
  • JDK는 JRE를 포함하고 있고, JRE는 JVM을 포함하고 있다. 이는 배포상의 편의를 위한 것이다.

프로그램이 메모리를 사용하는 방식

모든 프로그래밍 언어의 공통된 메모리 사용 방식
객체지향 프로그램에서의 메모리 사용 방식

  • 객체 지향 프로그램에서는 데이터 저장 영역을 다시 세 개의 영역으로 분할해서 사용한다.이를 편하게 T 메모리 구조라고 지칭하도록 한다.

절차적 프로그래밍

  • 절차적 프로그래밍을 한마디로 표현하자면 'goto'를 쓰지 말라는 것이다. 이를 방지하기 위해 Java에서는 'goto'를 예약어로 등록해 놓아서 사용하지 못하게끔 해놓았다.이에 더하여 'const'도 예약어로 등록해서 사용하지 않는다. 이를 Java에서는 final로 대신한다.

구조적 프로그래밍

  • 구조적 프로그래밍은 '함수'를 쓰라는 것이다.
  • 전역 변수의 사용보다는 지역 변수의 사용을 사용한다.

자바에 존재하는 절차적/구조적 프로그래밍의 유산

  • 제어문이 있다.

함수(Function) vs 메서드(Method)

  • 전혀 다르지 않다.
  • 함수는 절차적/구조적 프로그래밍에서 사용된 이름이고, 메서드는 객체지향 프로그래밍에서 사용되는 이름이다.
  • 굳이 다른점이 있다면, 메서드는 class안에 존재해야 하고 함수는 class와 상관이 없다는것 정도?

import문

  • 편의 기능이다.
  • import없이 코딩이 가능하지만 그만큼 코딩 타이핑을 많이 해야한다.

'Java(폐지) > Java 공부' 카테고리의 다른 글

상속  (0) 2020.07.16
5일차-클래스 멤버 vs 객체 멤버 = static 멤버 vs 인스턴스 멤버  (0) 2020.07.15
4일차 - 자바와 객체 지향  (0) 2020.07.14
3일차  (0) 2020.07.14
2일차-데이터 저장 영역의 동작  (0) 2020.07.12
Comments