컴퓨터와 프로그래밍이 무엇인지에 대한 전체적인 관점으로 파악하기컴퓨터의 구성 요소에 대해 설명할 수 있다.프로그램을 실행하면 컴퓨터 내부에서 어떤 일이 일어나는지 설명할 수 있다.프로그래밍과 관련된 개념을 설명할 수 있다.프로그램, 프로그래밍, 프로그래밍 언어컴파일,
https://blog.jetbrains.com/idea/2020/03/top-15-intellij-idea-shortcuts/
웹 페이지의 틀을 만드는 언어마크업 언어(Markup Lanuage)HTML은 태그(tag)들의 집합tag는 <> 로 묶는다!태그들은 쌍이 있다
CLI(Command Line Interface): 명령어로 컴퓨터를 제어GUI(Graphic User Interface): 그래픽을 통해서 컴퓨터를 제어상대적으로 높은 안정성과 빠른 속도 때문에GUI는 쉽게 컴퓨터를 제어할 수 있지만, 그래픽에 컴퓨터 자원을 많이 사
여러 파일이 담겨있는 하나의 파일 (압축 파일)리눅스의 패키지는 하나의 프로그램이 정상적으로 설치되고 동작하기 위한 여러 파일이 담겨 있다.프로그램 파일프로그램 설치 파일프로그램 설치 설명서프로그램에 대한 정보를 담은 파일패키지의 설치, 변경, 삭제 등을 편리하게 관리
자바 명명 규칙 https://www.oracle.com/java/technologies/javase/codeconventions-namingconventions.html 니모닉이란? 어떤 것을 기억하는 데 쉽게 하도록 도움을 주는 것(회상을 돕는 모든 장치)
필요한 메모리 공간을 파악 -> 타입메모리 공간만큼 확보메모리 공간에 이름을 붙임 -> 변수명메모리 공간에 값을 저장1~3번 과정) 변수를 선언4번 과정) 변수에 값을 할당https://www.oracle.com/java/technologies/javase/c
https://frhyme.github.io/java/java_String00_by_int_pos/Java의 String은 인덱스로 접근이 안 된다.이유는? -> 찾아볼 것접근하려면 charAt으로 접근해야한다.
객체지향 프로그래밍 >OOP: Object Oriented Programming 객체를 만들고 객체들 간의 상호작용을 통해 특정 기능을 구성하는 프로그래밍 방법론 특징 상속 부모가 자식에게 특징을 물려주듯이 상위 클래스의 특징을 하위 클래스에게 물려주는 것 캡슐화
이렇게 코드를 작성하면, 'com.codestates.seb.calculator.Overloading.this' cannot be referenced from a static context 오류가 발생한다.이는 main 메서드가 static이기 때문에 발생한다.(정확한
생성자 > ✅ 생성자는 인스턴스를 생성하는 것이 아니다!! 인스턴스를 생성하는 것은 new 연산자이다. 생성자는 인스턴스의 변수들을 초기화하는 메서드이다. 생성자 vs 메서드 공통점 오버로딩이 가능하다.(여러 개의 생성자가 존재) 차이점 생성자의 이름은 클래스의 이
내부 클래스 외부 클래스와 내부 클래스가 서로 연관되어 있을 때 사용한다. 장점 외부 클래스 멤버들에 모두 접근할 수 있다. 외부적으로 불필요한 데이터를 감출 수 있다.(캡슐화) 종류 멤버 클래스: 내부 클래스 + 정적 내부 클래스 지역 내부 클래스 |종 류|선
상위 클래스-하위 클래스의 상속 관계의 핵심을 이해하고, 그 장점을 설명할 수 있다.extends 키워드를 사용하여 두 개 이상의 클래스 간 상속 관계를 정의할 수 있다.포함관계와 상속관계의 차이를 설명할 수 있다.상속 관계에서 사용할 수 있는 메서드 오버라이딩의 정의
클래스에 포함된 변수필드는 두 가지 변수로 나뉜다.1) 클래스 변수 - static 변수공통된 값을 공유인스턴스를 따로 생성하지 않아도, 클래스명.멤버명으로 사용 가능(물론 정적 멤버도 객체를 생성한 이후 참조변수를 통해 사용이 가능하지만, 정적 멤버임을 표시하기 위해
학습 목표 캡슐화의 핵심 개념과 목적을 이해하고 설명할 수 있다. 패키지의 개념과 import문이 어떻게 사용되는 지 이해할 수 있다. 자바에서 캡슐화를 달성하기 위핸 핵심적인 수단으로 접근제어자 네 가지를 이해하고, 각각의 접근 가능 범위를 설명할 수 있다. 데이터를
https://learnote-dev.com/java/%EB%8B%A4%EC%9A%B4%EC%BA%90%EC%8A%A4%ED%8C%85%EA%B3%BC-instanceof/업 캐스팅다운 캐스팅다시 원래형으로 돌아가야 할 때, 다운 캐스팅을 사용한다.이때 ins
컬렉션 : 데이터들의 집합 => 자료구조컬렉션 프레임워크 : 컬렉션을 다루기 위한 메서드들을 정의해둔 것일관된 API 사용 가능직접 코드를 작성할 필요 없이, 이미 구현된 컬렉션 프레임워크를 사용하면 된다.(시간 save)프로그램 품질 향상 - 제공되는 API들은 이미
여러 상수들을 편리하게 선언할 수 있도록 만들어진 자바의 문법 요소서로 관련있는 상수들의 집합JDK 1.5 이전 버전에서는 enum 문법을 지원하지 않았다. 그래서 이전에는 public static final 제어자를 붙이고, 전역변수로 선언하여 상수를 사용하였다.하지
컬렉션에 저장된 요소들을 순차적으로 읽어오는 역할
추상화 > 객체의 공통적인 속성과 기능을 추출하여 정의하는 것 기존 클래스들의 공통적인 요소들을 뽑아내서 추상 클래스를 만들어 내는 것 기존 객체들의 공통적인 기능들을 뽑아서 인터페이스를 만들어 내는 것 장점 코드의 중복을 줄일 수 있다. 효과적으로 클래스 간의 관
A 클래스가 B 클래스에 의존한다.= A 클래스에서 B 클래스에 정의된 속성이나 기능을 가져와 사용하고 있다.이때 B 클래스에 변경 사항이 발생하거나, B 클래스가 아닌 C 클래스로 교체해야 하는 상황이 발생한다면?=> B 클래스에 의존하고 있던 A 클래스의 코드 변경
자바 소스 코드에 추가하여 사용할 수 있는 메타데이터의 일종@ 기호를 붙인다.주석처럼 프로그램에 영향을 주지 않으면서, 컴파일러에게 유용한 정보를 제공한다.JDK에서 제공하는 애너테이션은 java.lang.annotation 패키지에 포함되어 있다.= 정보를 전달하는
함수형 프로그래밍 기법을 지원하는 자바 문법메서드를 간단하게 만들기 위한 방법(메서드를 하나의 식으로 표현)자바는 객체지향 프로그래밍 언어이지만 람다식의 함수형 프로그래밍 문법 요소를 도입하여 객체지향과 함수형을 혼합하는 방식을 사용한다.Stream에 사용 가능객체지향
다양한 데이터 소스(컬렉션, 배열)를 표준화해서 다루는 방법배열, 컬렉션의 저장 요소를 하나씩 참조해서 람다식으로 처리할 수 있도록 해주는 반복자읽기만 가능원본을 변경하지 않음(read-only)일회용 (one-time only)최종 연산이 끝나고, 다시 데이터 처리를
프로그램: 명령문들의 집합프로세스: 실행중인 프로그램스레드: 프로세스 안에서 하나의 실행 흐름싱글(단일) 스레드 프로세스: 하나의 스레드(main 스레드)를 가지는 프로세스멀티 스레드 프로세스: 여러 스레드를 가지는 프로세스여러 스레드를 가진다= 병렬적으로 작업을 할
Integer 타입을 요소로 가지는 List를 입력받아 요소의 평균을 리턴해야합니다.비어있는 List의 경우 0을 리턴해야 합니다.방법 1은 삼항 연산자를 사용하여 조건을 처리했고, 방법 2는 orElse()를 사용했다.https://docs.oracle.co
int 배열: Arrays.sort(array)Integer 배열Collections.sort(arrayList)arrayList.sort(Comparator.naturalOrder())int 배열: Arrays.sort(Arrays.stream(array).boxed
boxed() 메소드는 IntStream 같이 원시 타입에 대한 스트림 지원을 클래스 타입(예: IntStream -> Stream<Integer>)으로 전환해준다. 전용으로 실행 가능한 (예를 들어 int 자체로는 Collection에 못 담기 때문에 Integ
데이터를 저장하는 클래스가 있다고 생각해보자.String, int, double 타입의 데이터를 저장하려면 각 타입별로 별도의 클래스를 만들어야 한다.(stringDataSave, intDataSave, doubleDataSave)이런 귀찮음을 해결해주는 것이 제네릭이
프로그램의 비정상적 종료를 방지하고, 정상적인 실행 상태를 유지하기 위한 코드 작성에러(error): 복구하기 어려운 수준의 심각한 오류ex) 스택 오버플로우(StackOverflowError), 메모리 부족(OutOfMemoryError)예외(exception): 잘