java 프로젝트를 만들면 가장 처음 작성하는(작성되는) 부분이다. java 파일을 실행하게 되면 JVM에 의해 가장 먼저 실행되는 부분이기도 하다. psvm(public static void main) public JVM을 통해 실행되었을 때, 어느 곳에서든지
- 특정 작업이나 연산을 수행하기 위해 사용되는 기호 연산자 종류 부호 연산자 피연산자의 부호를 변경한다. | 기호 | 사용 | 역할 | | --- | --- | --- | | + | +var | var의 부호를 그대로 반환 | | - | -var | var의
접근 제한자(access modifier) > 클래스나 필드 변수, 메서드(이하 멤버)에 대한 접근을 제어하는 용도로 사용 객체 지향의 핵심 요소인 캡슐화, 정보 은닉을 위해 사용 접근 제한자의 종류 public 가장 넓은 범위의 접근 제한자 어디에서든지 해당 멤버에 접근이 가능 public으로 선언된 멤버는 모든 패키지에서 제한 없이 접근할 수 ...
JVM(Java Virtal Machine) > JVM은 자바 프로그램이 실행되는 가상 컴퓨터이다. JVM은 자바 바이트 코드를 기계어로 변환하고 실행하여 자바 프로그램을 실행한다. Java는 컴파일 단계에서 일반적인 프로그래밍 언어와 차이가 있다. 일반적인 프로그래밍 언어의 작동 방식 코드 작성: 프로그래머가 해당 언어(High-Level)로 원하...
제어문(Control Flow Statement) > 자바 프로그램은 main 메소드로부터 시작되어 위에서부터 아래로 차례대로 실행된다. 이러한 제어 흐름을 개발자가 원하는 분기로 바꿀 수 있도록 하는 것이 제어문이다. > 제어문은 조건문과 반복문 두 가지로 나눌
제어문(Control Flow Statement) > 자바 프로그램은 main 메소드로부터 시작되어 위에서부터 아래로 차례대로 실행된다. 이러한 제어 흐름을 개발자가 원하는 분기로 바꿀 수 있도록 하는 것이 제어문이다. > 반복문(Loop Statement) 특정
기본 자료형(Primitive Type) > Java에서는 기본 자료형은 직접적인 메모리 접근이 가능하다. 따라서 메모리를 효율적으로 사용할 수 있고, 빠르고 효율적인 연산이 가능하다는 장점이 있다. > 부울 타입 > 논리 데이터(true/false)를 표현한다. 조건문, 루프 제어 등에 사용된다. > | 자료형 | 크기 | 범위 | 특징 | | -...
변수의 형 변환 > 형 변환(Type Conversion); 변수나 값을 원래 데이터 타입에서 다른 데이터 타입으로 변환하는 과정을 나타내는 넓은 개념 > 형 변환은 타입의 안전성을 유지하면서도 다양한 타입 간의 연산이나 할당을 가능하게 한다. 캐스팅 > Casting; 좁은 의미의 형 변환(Casting)은, 강제 타입 변환(명시적 형변환)을 가...
주석(Comments) > 코드에 대한 설명을 추가하여 다른 개발자들, 또는 나중에 자신이 코드를 다시 봤을 때 이해하기 쉽도록 도와주는 도구이다. > 주석은 컴파일 과정에서 실행되지 않고 무시되므로 프로그램에 직접적인 영향을 주지 않는다. 한 줄 주석 > Si
객체, 클래스, 인스턴스 객체 > Object; 클래스에서 정의된 속성을 바탕으로 생성된 복제품 > 물리적으로 존재하거나, 개념적인 요소 중, 다른 것들과 식별 가능한 요소 객체는 상태(state)와 행동(behavior)을 가진다. Java에서는 이것을 각각 변수(variable), 그리고 메소드(method)로 정의한다. 객체는 클래스에 정...
new > 클래스로부터 새로운 객체를 생성하고, 해당 객체를 메모리에 할당(인스턴스화)하는 데 사용되는 키워드 > 사용 예시 new 연산자의 작동 방식 1. 메모리 할당 new 연산자는 런타임, 즉 프로그램이 실행되는 도중에 힙(Heap) 메모리 영역에 객체를
Property, Parameter, Argument Property; 속성 > 클래스 내에 정의되어 객체의 상태를 나타내는 변수 > 객체 지향 프로그래밍에서 객체는, 데이터(속성)와 그 데이터를 조작하는 데 사용할 수 있는 행동(메소드)의 집합이다. 속성
Getter, Setter > 객체 지향 프로그래밍에서 정보 은닉과 캡슐화를 위해 사용되는 개념이다. 클래스의 내부 구현을 숨기고, 외부에서의 직접적인 접근을 막아 객체의 데이터를 보호한다. > 보통 접근 제한자와 함께 사용되며, 클래스의 프로퍼티(속성)에 대한 접
필드와 메모리 영역 필드 > 클래스 또는 객체의 상태를 저장하는 변수, 정적(Static) 필드와 인스턴스(Instance) 필드로 나뉜다. > 정적 필드(Static Field) > 클래스 레벨에서 관리되는 변수로, 클래스의 모든 인스턴스에 의해 공유됨 > 정적 필드는 프로그램이 시작될 때 생성되고, 프로그램이 종료될 때 소멸한다. 정적 필드는 ...
final > 일정한 값을 지녀야 하는 상수에 할당하여 값이 변하지 못하도록 하는 키워드 > final 키워드는 변수, 메소드, 클래스에 다양한 방식으로 사용할 수 있다. final 변수 > final 변수는 선언되는 동시에 초기화되어야 하며, 초기화 후 값을 변경할 수 없다. > final변수는 지역 변수와, 필드 변수로 나눌 수 있다. 지역 ...
메소드 오버로딩 > Java에서 같은 이름의 메소드를 여러 개 정의하되, 매개변수의 유형이나 개수를 다르게 하여 서로 다른 작업을 수행하도록 하는 기법 > 메소드 오버로딩은 매개변수의 타입, 개수, 순서가 다를 경우 같은 이름의 메소드를 여러 번 정의할 수 있게 해
DTO, VO DTO > Data Transfer Object; 데이터 전송 객체, 계층 간 데이터 교환을 위해 사용되는 객체 > 주로 데이터베이스에서 데이터를 가져오거나, 네트워크를 통해 데이터를 전송할 때 사용된다. 로직을 가지고 있지 않은 순수한 데이터 객체
기본 타입과 참조 타입 기본 타입 > 기본 타입(Primitive Type)은 변수의 값(value)을 저장하는 변수이다. > 기본 타입 변수는 실제 값을 스택 메모리에 직접 저장한다. 따라서 메모리 공간을 효율적으로 사용하며, 접근 속도가 빠르다는 장점이 있다. 기본 타입 종류 Java에서 미리 정의된 기본 타입으로는 정수, 실수, 문자, 불리언...
참조 타입 - String > String은 Java에서 문자열을 나타내는 데 사용되는 참조 타입이다. > ‘문자열’은 여러 ‘문자’가 순서대로 나열된 것으로, Java에서는 이러한 문자열을 String 클래스의 객체로 다룬다. Java에는 기본 자료형으로
참조 타입 - 배열(Array) > Java에서 배열은 같은 타입의 여러 값을 연속된 메모리 공간에 저장하여 관리하는 참조 타입이다. > 배열을 통해 동일한 타입의 데이터 요소들을 효율적으로 관리할 수 있다. 이러한 요소들은 메모리 상에서 연속적으로 위치하여 존재한
Null과 NullPointerException Null > Null은 ‘아무것도 참조하지 않음’을 나타내는 값이다. > Null은 참조 타입 변수에만 사용될 수 있다. 예를 들어, String, Array, Object 등의 참조 변수는 null 값을 가
상속과 메소드 오버라이딩 상속 > 상속(Inheritance)은 객체 지향 프로그래밍에서, 부모 클래스가 자식 클래스에 속성(Properties)과 메서드(methods)를 가져다 사용할 수 있게 넘겨주는 행위이다. > 상속은 재사용성을 높이고, 중복 코드를 줄여주는 객체 지향 프로그래밍의 핵심 개념이다. 원리 상속의 기본 원리는 'is-a' 관계...
객체의 형변환(Casting) > 특정 객체의 타입을 다른 타입으로 변환하는 것 > Java를 비롯한 객체 지향 프로그래밍 언어에서는, 주로 상속 관계에 있는 클래스 간의 형변환을 의미한다. 객체 형변환에는 업캐스팅(Upcasting)과 다운캐스팅(Downcasting)이 있다. 객체의 형변환을 통해 다형성을 구현하고, 유연한 코드 작성을 가능하게 할 ...
필드, 메서드(매개변수) 다형성 > 필드/메서드 다형성은 프로그램의 유연성을 높여주며, 새로운 타입을 추가하거나 기존 타입을 변경할 때, 코드 수정을 최소화할 수 있도록 한다. > 필드 다형성 > 필드 다형성은 클래스의 필드(변수)가 다양한 타입의 객체를 참조할 수 있는 성질이다. > 하나의 필드가 상황에 따라 다른 타입의 객체를 참조할 수 있게 되...