백엔드
-
메서드(method)에 대해서백엔드/자바 2020. 7. 27. 17:26
1. 메서드(method) 메서드란 객체가 동작해야하는 내용을 적은 블록을 말한다. 객체가 멤버 변수의 값을 갖게 되고 메서드에 따라 동작하는 만드는 역할을 한다. 2. 메서드 종류 메서드는 static 제어자 여부에 따라 클래스 메서드(static method / 스태틱 메서드)와 인스턴스 메서드(instance method)로 나뉜다. (1) 클래스 메소드 static 제어자를 가진 메소드를 클래스 메서드 또는 스태틱 메서드로 부른다. 클래스 메서드는 클래스가 메모리에 로드 되는 순간 생성되기 때문에 별도의 객체를 생성해서 써야하는 인스턴스 변수는 클래스 메서드 안에서 사용이 불가능하다. (2) 인스턴스 메소드 static 제어자를 가지지 못한 메서드로서 객체가 생성될 때 같이 생성된다. 인스턴스 메..
-
필드와 변수(field & Variable)백엔드/자바 2020. 7. 27. 16:52
필드란? 변수란? 클래스의 필드(field)란 클래스에 포함된 변수(Variable)를 말한다. 변수에는 특정 값을 할당할 수 있고 이를 통해 객체의 특성을 만들어줄 수 있다. 변수의 종류 public class Basic_07_27_06 { static int static_Variable; // 클래스 변수 int instance_Variable; // 인스턴스 변수 void method() { int local_Variable; // 지역 변수 } } 변수의 종류는 클래스 변수 / 인스턴스 변수 / 지역 변수 3개로 나뉜다. 변수 생성 시기 소멸 시기 저장 메모리 클래스 변수 클래스가 메모리에 올라갈 때 프로그램 종료시 메서드 영역 인스턴스 변수 인스턴스 생성시 인스턴스 소멸시 힙 영역 지역 변수 블..
-
제어자(Modifier)백엔드/자바 2020. 7. 27. 16:12
1. 제어자(modifier)란? 클래스와 클래스 멤버의 선언시 사용하여 클래스나 멤버에 부가적인 의미를 부여하는 키워드를 말한다. 이를 통해 클래스나 클래스 멤버의 특성이나 사용 범위 등을 제한할 수 있다. 제어자는 크게 접근 제어자(access modifier)와 기타 제어자로 나뉜다. 2. 접근 제어자(access modifier) 정보 은닉을 위해 만들어진 제어자이다. 접근 제어자를 통해서 외부에서 클래스 내 멤버의 접근 범위를 설정할 수 있다. 접근 허용 범위를 표로 나타내면 다음과 같다. 접근자 / 접근 범위 같은 클래스 같은 패키지 상속 클래스 전체 public O O O O protected O O O default O O private O (1) public public 제어자가 붙은 멤..
-
객체(object)에 대해서백엔드/자바 2020. 7. 27. 06:52
1. 객체(object)란? 객체는 클래스에서 정의한 내용을 토대로 메모리(실제 저장공간)에 할당된 것으로 프로그램에서 사용되는 데이터 또는 식별자에 의해 참조되는 공간을 의미. 2. 인스턴스란? 객체를 정의한 클래스로부터 객체를 만드는 과정을 인스턴스화(Instantiate). 그리고 이렇게 만들어진 객체를 인스턴스(Instantance)라고 부른다. 3. 객체의 쓰임새 클래스에 정의된 대로 객체를 만들면 이제 이 객체의 특성은 멤버변수를 통해 정해지고 객체는 메서드를 따라서 일정 동작을 수행하면서 프로그램을 돌아가게 만든다. 4. 객체 만들기 객체를 만들기 위해선 new 연산자를 사용해주는데 다음과 같이 만들면 된다. " 사용하려는 클래스 파일명 + 객체명 + = + new + 사용하려는 클래스파일 ..
-
자바의 기본(클래스, 메서드, 필드, 생성자, 인스턴스)백엔드/자바 2020. 7. 27. 06:08
1. 자바의 기본 자바 프로그램은 최소 한개의 클래스로 구성된다. 그리고 그 클래스는 한 개 이상의 필드(field) 또는 메서드(method)로 구성된다. 기본 구조는 다음과 같다. public class Test { // 클래스 선언 : 어떠한 객체의 변수, 메서드의 집합 int a = 1; // 필드 부분 : 객체 데이터가 저장되는 곳 public void method() { // 메서드 부분 : 객체의 동작을 수행하는 부분 System.out.println(a); } } 2. 클래스와 객체(Class&Object) 자바에서 클래스(Class)와 객체(Object)를 이해하는 것은 굉장히 중요하다. 클래스란 객체를 만들기 위한 기본적인 틀이고, 객체는 실제로 이 틀을 이용해 만들어낸 결과물을 말한다..
-
자바(Java) 메모리 구조 / Runtime Data Area백엔드/자바 2020. 7. 27. 03:24
자바의 메모리 구조 우리가 작성한 소스 코드는 컴파일해 자바 바이트 코드로 바꾸고 이를 JVM으로 실행하게 된다. 그리고 이 과정에서 코드들은 Runtime Data Area 영역에서 실행된다. 즉 OS가 JVM에 할당한 메모리 영역에 맞게 코드들이 분배되고 실행되는 것이라고 생각하면 된다. Runtime Data Area OS가 JVM에 할당해준 메모리 영역을 Runtime Data Area라고 부른다. 그리고 이러한 메모리 영역은 우선 크게 두 가지로 나뉜다. 쓰레드 별로 생성되는 메모리 영역과 모든 쓰레드가 공유하는 메모리 영역이다. 모든 쓰레드가 공유 Method Area Runtime Constant Pool Heap Area Eden Survivor 1 Survivor 2 Old Permane..
-
자바 가상 머신 (JVM)에 대해서백엔드/자바 2020. 7. 27. 00:34
자바 가상 머신(JVM)이란? JVM은 Java Virtual Machine의 약자로 자바 가상 머신으로 번역해서 부른다. JVM은 우리가 작성한 소스 코드를 바꾼 자바 바이트 코드를 컴퓨터에서 실행될 수 있게 도와준다. JVM을 통해 어느 OS에서든 자바 바이트 코드를 정상적으로 실행할 수 있다. JVM의 역할 JVM의 역할은 크게 4가지로 나뉜다. 1. Runtime Data Area JVM의 메모리 영역을 뜻하는 말로 JVM은 OS로부터 메모리를 할당 받아 사용한다. 우리가 작성한 코드를 실행할 때 그에 맞는 메모리를 할당하고 관리하는 역할을 한다. 2. Class Loader 소스 코드를 바꾼 자바 바이트 코드를 메모리에 할당할 수 있도록 도와주는 역할을 한다. 3. Execution Engine..
-
자바 개발 3요소 JDK / JRE / JVM백엔드/자바 2020. 7. 26. 05:20
자바 개발에 있어서 3요소 JDK, JRE, JVM은 매우 중요하다. 이 3가지의 대략적인 구조를 알아야 효율적인 프로그램을 짤 수 있다. JVM(Java Virtual Machine) - Java Virtual Machine의 약자로 자바 가상 머신이라 한다. - 자바 바이트 코드를 읽어서 검증하고 실행하는 능력을 가졌다. - JVM은 클래스 로더, 실행 엔진 등을 통해 소스 코드를 최종적으로 기계어로 바꾼다. - JVM 자체는 OS에 종속적이라 OS마다 차이가 있다. - 하지만 이미 컴파일 된 바이트 코드들은 어떤 JVM을 써도 실행이 가능하다. JRE(Java Runtime Enviroment) - Java Runtime Enviroment의 약자로 자바 실행 환경이라 한다. - JRE는 JVM이 ..