profile
HeeYun's programming study

정적 팩터리 메서드

직접 생성자(Constructor)를 사용해서 클래스의 객체를 만드는 것이 아닌, 별도로 public static 메서드를 만들어서 클래스의 객체를 생성하는 방법정적 팩토리 메서드를 구성하고자 한다면, 반드시 생성자에 private 접근 제어자를 두어서 외부에서 객체를

5일 전
·
0개의 댓글
·

자바 람다식

함수적 프로그래밍 방식으로 익명 함수(annonymous function)를 단순한 계산식으로 표현이름 없이 실행 가능한 함수 표현식함수는 코드들의 집합으로, 코드의 재사용성을 높이고자 내부에서 고정적인 데이터 값을 쓰지 않고, 외부로부터 인수를 통해 값을 전달받아 코

7일 전
·
0개의 댓글
·

어노테이션으로 메타 데이터 다루기

구조화된 데이터를 분석하고 분류해서 부가 정보를 추가하기 위해 해당 데이터 뒤에 함께 따라가는 데이터데이터의 데이터ex) 이미지 파일에서 이미지를 수정한 날짜나 이미지의 크기 등메타 데이터는 주석문과 같이 프로그램의 내용을 의미하는 부분에는 영향을 끼치지 않는다.주석은

2023년 11월 29일
·
0개의 댓글
·

자바 Stream

순서가 있는 데이터의 연속적인 흐름장치와 프로그램 사이를 연결하는 가상의 파이프로, 이 파이프를 통해 바이트들이 순서대로 이동장치(키보드, 모니터)는 서로 제어하는 방법이 각각 다르지만, Stream이라는 공통적인 입출력 모델을 적용하면 입출력을 동일한 방식으로 처리할

2023년 11월 27일
·
0개의 댓글
·

스레드

프로그램(program) : 명령어들의 집합명령어들이 실행되려면 주기억 장치에 적재(loading) 되어야 한다.프로세스(process) : 명령어들이 주기억 장치에 적재되어서 실행 가능한 상태가 된 프로그램초기 시스템에서는 한 프로그램(=프로세스)이 주기억 장치에 적

2023년 11월 25일
·
0개의 댓글
·

자바 리플렉션

리플렉션(Reflection) > 클래스에 대한 정보를 동적으로 가져와서 사용하는 기술 java.lang.Class가 대표적인 예시

2023년 11월 24일
·
0개의 댓글
·
post-thumbnail

자바 String

문자열을 위한 클래스참조형(Reference Type)으로 객체와 같이 스택 영역에 저장되는 것이 아니라 힙(heap)에 저장된다.한 번 생성된 String은 변경 할 수 없다.하나의 문자열과 다른 문자열을 결합하면 기존 문자열에 추가되는 것이 아니라 새로운 문자열이

2023년 11월 21일
·
0개의 댓글
·

제네릭

다양한 타입의 객체들을 다루는 클래스나 메소드에 컴파일 시 타입 체크를 해주는 기능일반적으로 유지 보수가 발생하는 경우를 살펴보면 자료형(type)의 수정이 주요 원인이다. 제네릭(Generic)은 클래스를 정의하면서 사용할 변수의 자료형을 설계할(코드 작성 시) 때

2023년 11월 19일
·
0개의 댓글
·
post-thumbnail

컬렉션 프레임워크

객체들의 집합객체를 담을 수 있으며 컨테이너(container)라고도 한다.컬렉션에서는 객체를 컬렉션에 추가하거나 혹은 삭제하거나, 검색하는 등의 객체 단위의 연산을 제공한다. 배열은 사이즈가 고정되어 있는 반면에 컬렉션은 가변적(Resizable)이다.컬렉션을 다루는

2023년 11월 17일
·
0개의 댓글
·

println을 지양해야 하는 이유

파일로 저장되지 않고 휘발된다. 에러가 발생한 시각, 문제의 수준, 에러가 발생한 위치를 기록하지 않는다.여러 로깅프레임워크에서는 로그 레벨에 따라 디버깅 정보를 남긴다.로그 레벨 예시FATALERRORWARN INFOTRACEDEBUGALLSystem.out.prin

2023년 11월 12일
·
0개의 댓글
·

자바의 주요 클래스

패키지(package) : 관계가 밀접한 클래스(class)와 인터페이스(interface)를 묶은 단위java.lang 패키지에 속해있다.모든 클래스의 최상위 클래스로 모든 클래스는 Object 클래스를 상속 받는다.값이 동일한지를 비교한다.동등 연산자(==) : 기

2023년 11월 10일
·
0개의 댓글
·

예외 처리

프로그램 실행 중 예기치 않은 문제가 발생한 상태(수습 가능)실행 오류 : 시스템이 정상적인 기능을 수행할 수 없는 상태(수습 불가)컴파일 오류 : 문법(syntax)이 올바르지 않은 상태try 블록에서 발생한 예외를 catch 블록에서 처리try 블록에는 예외가 발생

2023년 11월 10일
·
0개의 댓글
·

내부 클래스

내부 클래스(inner class)는 외부 클래스(outer class)의 속성과 메서드를 제약 없이 접근할 수 있다.내부 클래스를 이용해서 복잡한 코드를 은닉해 캡슐화할 수도 있다.하지만 내부 클래스는 외부 클래스의 멤버로만 사용되기 때문에 재사용 측면에서는 효율적이

2023년 11월 9일
·
0개의 댓글
·

인터페이스

자바에서는 둘 이상의 클래스로부터 상속받는 다중 상속(multiple inheritance)을 원칙적으로 지원하지 않는다.하지만 다중 제어의 관점에서 다중 상속은 권장할 만한 기술이다.이에 자바에서는 다중 상속의 활용을 위해 인터페이스를 제공한다.만약 '학생' 클래스와

2023년 11월 9일
·
0개의 댓글
·

abstract

실체가 없는, 구현이 안 된 속성상속 관계에서 하위 클래스가 추상 메서드를 재정의(overriding)하면 객체를 생성할 수 있다.추상 클래스는 상속 관계가 필수적이다.추상 클래스로부터 상속 관계에 있는 하위 클래스는 반드시 @Override 어노테이션을 이용해서 추상

2023년 11월 9일
·
0개의 댓글
·

참조형의 형변환

기본형(Primitive Type)값을 다루는 자료형boolean, char, byte, int, short, long, float, double참조형(Reference Type)주소를 다루는 자료형new 연산을 사용해서 메모리를 생성일반 참조형(클래스, 인터페이스,

2023년 11월 8일
·
0개의 댓글
·

자바 제어자

제어자는 클래스나 속성, 메서드의 선언부에 사용해서 부가적인 기능을 제어한다.제어자는 크게 접근 제어자와 일반 제어자로 나눈다.클래스를 참조할 수 있는 곳(객체 생성이 가능한)이면 어디에서나 참조 가능단, 하나의 소스 파일에는 하나의 public 클래스만이 있을 수 있

2023년 11월 8일
·
0개의 댓글
·

this

객체 자신을 참조하는 주솟값을 다루는 참조 변수의 일종기본 생성자처럼 자바 컴파일러가 제공하기 때문에 별도의 선언 없이 사용한다.this는 메서드 내에서만 사용할 수 있다.객체 자신에 대해 참조하는 값을 갖는다. 즉, 자신을 가리킨다.객체 자신을 메서드에 전달하거나 반

2023년 11월 7일
·
0개의 댓글
·

static 변수, final 변수

클래스(class) 변수로 클래스가 메모리에 적재(load)될 때 한 번만 메모리에 할당되는 변수클래스는 프로그램의 시작과 동시에 메모리에 적재되는데 클래스 변수 역시 이때 메모리에 할당된다.따라서 main() 프로시저가 호출되어 명령이 실행되는 시점 이후부터 언제든지

2023년 11월 7일
·
0개의 댓글
·
post-thumbnail

JVM과 자바 프로그램 실행 과정

JVM은 자바 가상 머신으로 자바 바이트코드인 .class 파일을 해당 운영체제에 알맞는 기계어로 변환해주는 역할을 수행한다.

2023년 11월 6일
·
0개의 댓글
·