Java(41)
-
자바 접근 제어자
접근 제어자(Access Modifier)는 클래스, 메서드, 변수의 접근 범위를 제어하는 키워드다. 각각 클래스, 메서드, 변수별로 접근 제어자의 적용 범위가 달라진다. 클래스의 접근 제어자public어떤 패키지(폴더)에서든 접근 가능한 소스 파일(.java)에는 단 하나의 public 클래스만 존재 가능파일명은 반드시 public 클래스의 이름과 같아야 함default(package-private)접근 제어자를 명시하지 않은 경우의 기본값같은 패키지 내에서만 접근 가능src/├── com.example.main/ 실제로 패키지는 폴더를 기준으로 하지만 폴더가 있다고 모두 패키지는 아니다. 실제로 패키지로 작동하려면 파일 안에 패키지의 범위를 선언해줘야 한다. 그리고 그 선언한 부분이 패키지의 단위가 ..
2025.05.01 -
메서드 vs 함수
메서드와 함수는 비슷하지만 중요한 차이점이 있다.구분함수메서드소속독립적클래스에 종속접근방식직접 호출객체를 통해 호출데이터 접근매개변수로만객체의 필드 접근 가능사용 패러다임절차적 프로그래밍함수형 프로그래밍객체지향 프로그래밍하지만 자바에서 함수는 모두 클래스 내부에서만 정의할 수 있기때문에 함수 = 메서드다. 이건 예외가 없다. 기본적으로 자바는 모든 코드가 클래스 내부에서 정의되기 때문에 독립적으로 존재하는 함수가 없다.이것은 자바가 기본적으로 객체지향 프로그래밍을 따르기 때문이다. 객체지향의 핵심은 데이터와 해당 데이터를 처리하는 메서드를 하나의 단위(객체)로 묶는 것과 이를 통해 데이터와 기능이 서로 연관되어 응집도를 높이는 것인데 자바는 클래스를 강제함으로써 이를 어느정도 강제하게 된다. 즉 클래스 ..
2025.05.01 -
클래스의 final
final은 "변경할 수 없는" 또는 "상속할 수 없는"을 의미한다.클래스에 final을 사용하면final public class FinalClass { // 다른 클래스가 이 클래스를 상속할 수 없음 // ...}// 컴파일 에러class ChildClass extends FinalClass { // final 클래스는 상속 불가 // ...} 주로 사용되는 경우:보안이 중요한 클래스 (예: String 클래스)상속을 통한 확장을 금지하고 싶을 때불변성을 보장하고 싶을 때예시:// 상속 불가능한 클래스final class Math { // 수학 관련 메서드들...}// Java의 실제 예final class String { // 문자열 처리 클래스 // String은 너무 중..
2025.05.01 -
자바의 클래스(Class)
클래스란 무엇인가?개념 설명클래스는 객체 지향 프로그래밍의 기본 단위로, 관련된 데이터와 메서드(method)를 하나의 단위로 묶어놓은 설계도다. (자바스크립트의 class와 유사) 실제 프로그램에서 사용되는 객체(Object)를 만들기 위한 템플릿 역할을 한다. 이렇게 만들어진 객체를 인스턴스라고 부른다.비유 설명하지만 실제로 클래스가 어떤 것을 만들어야 한다고 강제하는 것은 아니다. 설계도라는 것은 해당 클래스에 대강 그런 기능들을 넣을 것이라 정해두는 것이라 설계도라 부르는 것이다. 클래스는 관련된 함수(메서드)를 담는 콘테이너이자 일종의 카테고리다. 내부에 어떤 속성과 기능이 있을지 정의해두는 틀이자 대강 무엇을 담을지 정해두는 것이지 실제로 클래스 자체가 어떤 역할을 하는 것은 아니다. 일종의 ..
2025.05.01 -
자바의 주요 메서드
개념 설명toString(): 객체를 문자열로 표현 (JS의 toString()과 유사)equals(): 객체의 내용 비교 (JS의 === 연산자와 유사)hashCode(): 객체의 해시코드 값 반환clone(): 객체의 복사본 생성valueOf(): 다른 타입의 값을 특정 타입으로 변환 (JS의 parseInt() 등과 유사)비유 설명toString(): 객체의 "명함" 같은 역할equals(): 두 물건의 내용물을 꺼내서 하나하나 비교하는 것clone(): 복사기로 문서를 복사하는 것과 유사사용 목적toString(): 객체 정보의 문자열 표현이 필요할 때equals(): 객체의 내용 비교가 필요할 때hashCode(): 해시 기반 컬렉션에서 사용clone(): 객체의 깊은 복사가 필요할 때value..
2025.04.30 -
자바와 자바스크립트의 차이점
1. 기본 개념과 목적자바: 컴파일 언어로서 범용 프로그래밍 언어이며, 주로 백엔드 서버 개발에 사용됩니다.자바스크립트: 인터프리터 언어로서 웹 브라우저에서 동작하는 스크립트 언어로 시작했으나, 현재는 Node.js를 통해 서버 개발도 가능합니다.2. 실행 과정 비교컴파일 언어 (예: Java, C++)음식을 한 번에 모두 준비해서 완성된 도시락을 만드는 것과 같습니다.전체 코드를 한 번에 기계어로 변환한 후 실행합니다.준비 시간(컴파일)은 오래 걸리지만, 실행(식사)은 빠릅니다.도시락을 만들 때 재료나 조리 과정의 문제를 미리 발견할 수 있습니다.소스코드(.java) → 컴파일러 → 바이트코드(.class) → JVM → 실행인터프리터 언어 (예: JavaScript, Python)주문이 들어올 때마다..
2025.04.30 -
자바의 연산자
기본 개념자바의 연산자는 값에 대한 연산을 수행하는 기호입니다. 요리에 비유하자면, 재료(피연산자)를 가지고 요리 방법(연산자)을 통해 새로운 음식(결과값)을 만드는 것과 같습니다.주요 연산자 종류산술 연산자+ (덧셈)- (뺄셈)* (곱셈)/ (나눗셈)% (나머지)비교 연산자== (같다)!= (다르다)> (크다)= (크거나 같다)논리 연산자&& (AND)|| (OR)! (NOT)주의할 점정수 나눗셈에서 주의할 점int result = 5 / 2; // 결과는 2 (소수점 버려짐)double result2 = 5 / 2; // 결과는 2.0 (이미 정수 나눗셈이 수행된 후)double result3 = 5.0 / 2; // 결과는 2.5 (올바른 실수 나눗셈)null 값 연산 주의String str = n..
2025.04.30 -
2. 자바의 자료형(Data Type)
1. 기본 개념자바의 자료형은 크게 기본형(Primitive Type)과 참조형(Reference Type)으로 나뉩니다.기본형(Primitive Type):실제 데이터 값을 저장메모리에 직접 값을 저장Stack 메모리에 저장8가지 기본형 존재참조형(Reference Type):객체의 주소를 저장Heap 메모리에 데이터 저장배열, 클래스, 인터페이스 등2. 기본형 자료형 상세종류자료형크기범위기본값논리형boolean1bytetrue/falsefalse문자형char2byte0 ~ 65,535'\u0000'정수형byte1byte-128 ~ 1270short2byte-32,768 ~ 32,7670int4byte-2,147,483,648 ~ 2,147,483,6470long8byte-9,223,372,036,85..
2025.04.28 -
1. 자바 파일 생성하기
기본 규칙// HelloWorld.java 파일public class HelloWorld { // 클래스 이름은 파일명과 동일해야 함 public static void main(String[] args) { System.out.println("Hello World!"); }}파일명은 클래스명과 정확히 일치해야 함확장자는 .java하나의 파일에 public class는 하나만 존재대소문자 구분 주의IDE(통합개발환경)를 사용하는 경우IntelliJ IDEA 사용 시:File → New → Java Class클래스 이름 입력자동으로 .java 파일 생성Eclipse 사용 시:File → New → Class클래스 이름 입력public static void main 체크박스 선택 가능직접 생성하는..
2025.04.28 -
자바 학습 로드맵
【1단계: 자바 기초 개념】자바 플랫폼 이해JDK, JRE, JVM의 차이컴파일과 실행 과정바이트코드의 개념핵심 개념 차이:컴파일타임 vs 런타임인터프리터 방식 vs JIT 컴파일소스코드(.java) vs 바이트코드(.class)메모리 구조스택과 힙메소드 영역가비지 컬렉션 기본 개념핵심 개념 차이:스택 메모리 vs 힙 메모리스택: 정적 할당, 함수 호출 시 생성힙: 동적 할당, 객체 저장정적 영역 vs 동적 영역변수와 데이터 타입기본형(primitive type)참조형(reference type)변수 스코프형변환(casting)핵심 개념 차이:기본형 vs 참조형기본형: 실제 값 저장참조형: 주소 값 저장값의 전달방식Call by ValueCall by Reference지역변수 vs 멤버변수명시적 형변환 ..
2025.04.28