색을 파라미터화하자.Apple 클래스 weight 필드 추가새로 추가한 무게 조건 필터링 코드가 기존의 색 조건 필터링 코드와 대부분 중복된다.이는 소프트웨어 공학의 DRY(Don't Repeat Yourself, 같은 것을 반복하지 말 것) 원칙을 어긴다.참고💡참고
프록시(Proxy)는 "대리"의 의미로 특정 객체로의 접근을 제어하는 대리인을 제공한다.클라이언트 객체가 원격 객체(다른 JVM의 힙 영역에 생성된 객체)의 메소드를 호출하면 실제 원격 객체가 아닌 프록시 객체가 호출되고, 이 프록시 객체가 다른 원격 객체에게 메소드
템플릿 메소드는 알고리즘의 각 단계를 정의하며, 서브클래스에서 일부 단계를 구현할 수 있도록 유도한다.<span style="background-color: <span style="color:(https://velog.io/@gyomni/%EB%94
클래스 내부에 선언한 클래스중첩 클래스를 사용하면 클래스의 멤버를 쉽게 사용할 수 있고 외부에는 중첩 관계 클래스를 감춤으로써 코드의 복잡성을 줄일 수 있다.중첩 클래스도 컴파일하면 바이트코드가 별도로 생성된다.A 객체를 생성해야만 B 객체를 생성할 수 있다.C 객체를
8.1 인터페이스 역할 인터페이스는 두 객체를 연결하는 역할을 한다. 다형성1 구현에 주된 기술로 이용된다. 1: 사용 방법은 동일하지만 실행 결과가 다양하게 나오는 성질 8.2 인터페이스와 구현 클래스 선언 인터페이스 선언 class 키워드 대신 interface
ThreadLocal이란? java.lang 패키지에 속한 클래스로 Thread별 독립적으로 초기화된 변수를 제공한다. ThreadLocal 내부는 Thread의 정보를 Key 값으로 하여 값을 저장하는 Map 구조(ThreadLocalMap)를 가지고 있다. 주요
상속은 부모가 자식에게 물려주는 행위로 중복 코드를 줄여 개발 시간을 단축시키고, 클래스 수정을 최소화할 수 있다.자식이 extends 키워드를 사용해 부모를 선택한다. \*<span style="background-color: \`\`\`javapackage c
객체를 먼저 만들고, 이 객체를 조립해 프로그램을 만드는 기법다른 것과 식별 가능한 것객체는 속성(=필드)과 동작(=메서드)으로 구성된다.현실 세계의 객체를 소프트웨어 객체로 설계하는 것을 <span style="background-color: 객체들은 다른 객체
자바의 데이터 타입은 기본 타입(primitive type)과 참조 타입(reference type)으로 분류된다.기본 타입은 값 자체를 저장하고, 참조 타입은 객체가 생성된 메모리 번지를 저장한다.변수들은 모두 스택 메모리 영역에 생성되는데 기본 타입은 직접 값을 저
자바 프로그램은 main( ) 메서드의 시작 중괄호 {에서 끝 중괄호 }까지 위에서부터 아래로 실행하는 흐름을 가진다.제어문은 이러한 실행 흐름을 개발자가 원하는 방향으로 바꿀 수 있도록 해주며, 연산 결과에 따라 블록 내부의 실행 여부가 결정된다.main메서드if문은
3.1 부호/증감 연산자 3.1.1 부호 연산자 부호 연산자는 변수의 부호를 유지하거나 변경한다. + 연산자는 잘 사용되지 않고, - 연산자만 부호를 변경할 때 사용한다. 정수 타입(byte, short, int) 연산의 결과는 int 타입으로 반환된다. 3.1.2
자바의 8가지 기본 타입을 객체화하기 위해 포장한 형태로, 다양한 메소드와 필드를 사용할 수 있다.박싱 : 기본 타입 -> 래퍼 클래스 변환언박싱 : 래퍼 클래스 -> 기본 타입 변환MAX_VALUE, MIN_VALUE 필드는 최대값과 최소값을 표현한다.Math.pow
1. 컴파일러 정의 > 특정 프로그램밍 언어로 쓰여 있는 문서를 다른 프로그래밍 언어로 옮기는 언어 번역 프로그램 출처👉위키백과 2. 컴파일러 동작 방식 전체 소스 코드 파일을 가져와 사용되지 않는 코드나 중복된 코드 등을 분석 후 최적화 한다. 따라서, 코드가 수
2.1 변수 선언 변수는 하나의 값을 저장할 수 있는 메모리 번지에 붙여진 이름으로, 프로그램은 메모리 번지에 값을 저장하고 읽을 수 있다. 변수 선언은 어떤 타입의 데이터를 저장할 것인지와 변수 이름이 무엇인지를 결정한다. 변수 이름은 첫 문자를 소문자로 시작하되 캐
컴퓨터가 이해할 수 있는 기계어는 0과 1로 이루어진 이진 코드를 사용한다.프로그래밍 언어는 사람의 언어와 기계어의 다리 역할을 한다.프로그래밍 언어는 고급 언어와 저급 언어로 구분된다.고급 언어란 사람이 쉽게 이해할 수 있는 언어로, 컴퓨터는 컴파일 과정을 통해 기계