요약

12. 자바 용어 요약 ver.2 (1) - 패스트캠퍼스 백엔드 부트캠프 3기

gkss2tpt 2025. 4. 9. 20:15

자바

자바 : 객체 지향 프로그래밍 언어

자바언어의 특징 : 객체 지향 언어, 플랫폼 독립성, 풍부한 API라이브러리, 가비지 컬렉터, 멀티쓰레딩

JVM : 자바 프로그램이 실행되는 가상 컴퓨터, 한번 작성하면 어디서든 실행

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

변수

변수란? : 데이터를 저장하는 공간

변수의 선언 : 변수의 자료형과 이름을 정하는 것

변수의 초기화 : 변수에 처음으로 값을 저장하는 것 

변수의 명명규칙 : 대소문자를 구별하고 길이에 제한이 없다, 예약어 사용불가, 숫자로 시작불가, 특수문자는$_만가능

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

변수의 타입

기본형 : 스택에 저장(빠름)

상수 : 값을 한번만 저장할 수 있는 공간

리터럴 : 직접 값을 입력하는 것

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

진법

2진법 : 0과 1을 사용하여 수를 표현

10진법 : 0~9까지의 10개의 숫자를 이용해 수를 표현

8진법 : 0~7까지의 8개의 숫자를 사용하여 수를 표현

16진법 : 0~9 까지의 숫자와 A부터 F까지의 문자를 사용하여 수를 표현

비트 : 컴퓨터의 최소 단위

바이트 : 비트8개를 하나로 묶은 것

정수의 진법 변환 : 정수를 다른 진법체계로 변환하는 것

실수의 진법 변환 : 실수를 다른 진법체계로 변환하는 것

음수의 2진 표현 : 음수를 이진수로 표현하기 위해 모든 비트를 반전시킨 후 1을 더하는 방법

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

기본형 변수

논리형 : boolean 참 또는 거짓 두 가지 값만을 가지는 데이터 타입

문자형 : char 단일 문자를 저장하는 데이터 타입

정수형 : byte,short,int,long 정수를 저장하는 데이터 타입

실수형 : float,double 소수점을 포함한 숫자를 저장하는 데이터 타입

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

형변환

형변환(casting) : 데이터의 타입을 다른 타입으로 변환하는 것

정수형과 실수형간의 형변환 : 실수형을 정수형으로 형변환시 값손실이 발생 할 수 있다.

자동 형변환 : 컴파일러가 자동으로 데이터의 타입을 변환 시키는 것

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

연산자

연산자 : 어떤 기능을 수행하는 기호

피연산자 : 연산의 대상

식 : 값을 생성하거나 계산을 수행하는 코드의 단위

대입연산자(=) : 변수에 값을 할당하는데 사용하는 연산자

연산자의 종류 : 단항,산술,비교,논리,삼항,대입연산자

연산자의 우선순위 : 수식 내에서 어떤 연산자가 다른 연산자보다 먼저 수행될지를 결정하는 순서

연산자의 결합규칙 : 연산자들이 수식에서 어떤 방향으로 결합되어 계산될지를 결정하는 규칙

산술 변환 : 연산을 수행 하기 전에 피연산자의 타입을 일치 시키는 것

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

단항 연산자

증감 연산자(++,--) : 피연산자에 1을 증가 혹은 감소 시키는 연산자

부호 연산자(+,-) : 피연산자에 1을 곱하거나, -1을 곱하는 연산자

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

산술 연산자

사칙 연산자(+,-,*,/) : 한 대상과 다른 대상을 더하거나, 빼거나, 곱하거나, 나누는 것

나머지 연산자(%) : 두 수를 나누고 남은 값을 반환하는 연산자

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

비교 연산자

대소비교 연산자(<,>,<=,>=) : 값의 크기를 비교하는 연산자

등가비교 연산자(==,!=) : 값의 동일성을 확인하는 연산자

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

논리 연산자

논리 연산자(&&,||,!) : 조건의 참거짓을 판단하고 결합하는 연산자

비트 연산자(&,|,^,~,<<,>>) : 이진수의 비트 단위로 연산을 수행한 결과를 반환하는 연산자

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

그 외의 연산자

조건 연산자(? :) : 조건에 따라 다른 값을 선택하는 삼항 연산자

대입 연산자(=,op=) : 변수에 값을 할당하는 데 사용하는 연산자

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

조건문

if문 : 주어진 조건이 참일 때 블록을 실행하는 조건문

if-else문 : 조건이 참 혹은 거짓일 때 실행되는 조건문

if-else if문 : 여러 조건을 순차적으로 검사하여 해당하는 첫 번째 조건의 코드를 실행하는 조건문

중첩 if문 : if문 안에 또 다른 if문을 포함하는 조건문

switch문 : 변수의 값에 따라 여러 실행 경로 중 하나를 선택하여 실행하는 조건문

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

반복문

for문 : 조건식을 만족하는 동안 블록이 반복되는 제어문

while문 : 조건식이 참인 동안 블록을 반복 실행하는 제어문

do-while문 : 반드시 한번은 블록이 실행 되는 제어문

break문 : 현재 실행 중인 조건문과 반복문을 즉시 종료하는 제어문

continue문 : 현재의 반복을 건너뛰고 다음 반복으로 넘어가게 하는 제어문

이름 붙은 반복문 : 반복문에 이름을 지정하여 특정 루프를 다루는 제어문

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

배열

배열 : 같은 타입의 변수 여러개를 묶음으로 다루는 것

배열의 선언 : 배열의 타입과 이름을 지정하는 것

배열의 생성 : 배열을 저장할 메모리 공간을 할당하는것 

배열의 길이 : 배열에 저장된 요소의 개수

배열의 인덱스 : 배열의 각 요소를 구분하는 번호

배열의 초기화 : 배열의 각 요소에 값을 할당하는 과정

배열의 복사 : 새로운 배열을 생성하여 기존 배열의 내용을 복사하는 과정

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

객체 지향 프로그래밍(OOP)

객체지향언어의 특징 : 코드의 재사용성이 높음, 코드 관리에 용이, 코드의 확장성이 높음

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

클래스와 객체

클래스의 정의 : 객체를 생성하기 위한 설계도

클래스의 용도 : 객체를 생성하는 것

객체의 정의 : 실제로 존재하는 것

객체의 용도 : 속성과 기능에 따라 다름

인스턴스 : 특정 클래스로부터 생성된 객체

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

변수와 메서드

클래스 변수 : 모든 인스턴스에서 공유하는 변수

인스턴스 변수 : 객체마다 따로 값을 가진 변수

메서드 : 작업을 수행하기 위한 명령문의 집합

메서드의 선언부 : 메서드의 이름, 반환 타입, 매개변수를 정의

메서드의 구현부 : 메서드가 수행할 실제 동작을 정의

메서드의 호출 : 미리 정의된 작업을 실행하는 과정

return문 : 현재 실행중인 메서드를 종료하고 호출한 메서드로 되돌아 간다.

JVM의 메모리 구조 : 메서드 영역(클래스 정보), 힙 영역(참조 변수), 스택 영역(메서드의 작업영역)

기본형 매개변수 : 값을 읽기만 가능한 변수

참조형 매개변수 : 값을 읽고 변경 가능한 변수

재귀호출 : 메서드 내에서 자기 자신을 반복적으로 호출하는 것

클래스 메서드 : 객체 생성없이 호출할 수 있는 메서드

인스턴스 메서드 : 객체 생성 후 호출할 수 있는 메서드 

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

오버로딩

오버로딩 : 한개의 클래스에서 같은 이름의 메서드를 여러개 정의하는 것

오버로딩의 조건 : 이름이 같아야 하고, 매개 변수의 타입 혹은 개수가 달라야한다.

오버로딩의 장점 : 코드의 재사용성과 가독성을 높여준다.

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

생성자

생성자 : 인스턴스 생성시 자동으로 호출되는 인스턴스 초기화 메서드

기본 생성자 : 매개변수가 없는 생성자

this : 객체 자신을 가리키는 참조 변수

생성자 this() : 생성자 내에서 다른 생성자를 호출

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

변수의 초기화

지역 변수의 초기화 : 지역 변수는 사용전 반드시 초기화 해줘야 한다.

클래스 변수의 초기화 시기 : 클래스가 메모리에 올라갈 때 단 한번

인스턴스 변수의 초기화 시기 : 인스턴스가 생성될 때 마다

지역 변수의 초기화 시기 : 변수 선언문 수행시

멤버변수의 초기화 순서 : 명시적 초기화 -> 클래스 초기화 블록 -> 인스턴스 초기화 블록 -> 생성자

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

상속

상속 : 기존 클래스의 속성과 메서드를 가진 새로운 클래스를 생성 하는 것

상속의 장점 : 코드의 재사용성을 높이고, 유지보수를 용이하게 한다.

포함 : 클래스의 맴버변수로 다른 클래스를 선언하는 것

단일 상속 : 한 클래스가 하나의 부모 클래스만 상속받는 구조

Object 클래스 : 모든 클래스의 조상

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

오버라이딩

오버라이딩 : 조상 클래스에서 정의한 메서드를 자식 클래스에 맞게 변형하는 것

오버라이딩의 조건 : 선언부가 같아야하고, 예외는 조상보다 많을 수 없으며, 접근 범위가 좁을 수 없다.

super : 부모 클래스의 맴버를 호출하는 참조 변수

super() : 부모 클래스의 생성자를 호출

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

제어자

제어자 : 클래스, 메서드, 변수 등의 특성을 제어하는 예약어

static 제어자(메서드) : 객체 생성없이 호출할 수 있는 클래스 메서드가 된다.

static 제어자(변수) : 인스턴스가 공통으로 사용하는 클래스 변수가 된다.

final 제어자(클래스) : 상속 받을 수 없는 클래스가 된다.

final 제어자(메서드) : 오버라이딩을 통해 재정의될 수 없는 메서드가 된다.

final 제어자(변수) : 변할수 없는 값 상수가 된다.

abstract 제어자(클래스) : 추상 메서드를 포함하는 클래스임을 나타낸다.

abstract 제어자(메서드) : 선언부만 있고, 구현부는 작성되지 않은 추상메서드가 된다.

접근 제어자(public) : 모두 접근 가능

접근 제어자(protected) : 같은 패키지 내부와 다른 패키지의 하위 클래스에서 접근 가능

접근 제어자(default) : 같은 패키지 내부에서만 접근 가능

접근 제어자(private) : 같은 클래스 내부에서만 접근 가능

캡슐화 : 외부로부터 데이터를 보호하고 외부에는 불필요한 데이터를 숨김

캡슐화의 장점 : 정보 은닉, 데이터 보호, 유지보수에 용이

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

다형성

다형성 : 조상 타입 참조변수로 자식 타입 객체를 다루는 것 

다형성의 장점 : 코드의 유연성과 확장성이 향상된다.

참조변수의 형변환 제약 : 서로 상속 관계에있는 클래스만 형변환이 가능하다.

instanceof : 객체가 특정 클래스와 상속 관계에 있는지 확인하는 연산자

매개변수의 다형성 : 다양한 타입의 객체를 매개 변수로 전달 가능하다.

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

추상클래스

추상클래스 : 인스턴스를 생성할 수 없는 미완성 설계도

추상메서드 : 선언부만 있고 구현부는 없는 메서드

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

인터페이스

인터페이스 : 구현된 것이 전혀없는 기본 설계도

인터페이스의 장점 : 서로 관계없는 클래스들에게 관계를 맺어 줄 수 있다.

인터페이스의 상속 : 인터페이스는 다중 상속이 가능하다.

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

내부 클래스

내부 클래스 : 클래스 내부에 정의된 클래스

익명 클래스 : 이름이 없는 일회용 클래스로 선언과 생성을 동시에 한다.