Java8 부터 지원되기 시작한 기능. 컬렉션에 저장되어 있는 엘리먼트들을 하나씩 순회하면서 처리할 수 있는 코드패턴. 람다식과 함께 사용되어 컬렉션에 들어있는 데이터에 대한 처리를 간결한 표현으로 작성 가능. 내부 반복자를 사용하므로 병렬처리가 쉽다.자바의 스트림을
: 메소드를 하나의 식으로 표현한 것메소드를 람다 표현식으로 표현하면 클래스를 작성하고 객체를 생성하지 않아도 메소드를 사용할 수 있다.(매개변수) -> {함수몸체}Variable used in lambda expression should be final or effe
자바 응용 프로그램은 운영체제나 하드웨어가 아닌 JVM과 통신한다.JVM이 자바 응용 프로그램으로부터 전달 받은 명령을 해당 운영체제가 이해할 수 있도록 변환하여 전달한다.자바로 작성된 프로그램은 운영체제에 독립적이지만, JVM은 운영체제 종속적이어서 여러 운영체제에
Static 영역(Method Area, Class Area, Code Area라고도 불린다.)Stack 영역Heap 영역
자료형은 크게 기본형과 참조형으로 나눌 수 있다.기본형 변수 : 실제 값을 저장boolean, char, byte, short, int, long, float double참조형 변수 : 어떤 값이 저장되어 있는 주소를 값으로 갖는다.8개 기본형을 제외한 나머지 타입변수
JDK : 자바 개발 도구 - JVM용 소프트웨어 개발 도구JRE : 자바 실행 환경 - JVM용 OSJVM : 자바 가상 기계 - 가상 컴퓨터프로그램은 개발자가 개발 도구를 이용해 개발하고 운영체제를 통해 물리적인 컴퓨터인 하드웨어 상에서 구동된다.JDK를 이용해 개
캡슐화 : 정보은닉상속 : 재사용추상화 : 모델링다형성 : 사용편의클래스와 객체의 관계는 붕어빵틀과 붕어빵이 아니다!클래스 객체명 = new 클래스();붕어빵틀 붕어빵 = new 붕어빵틀();새로운 붕어빵틀을 하나 만들었더니 붕어빵이 되었다?말이 안된다!클래스는 분류에
추상 메서드 : 선언부는 있는데 구현부가 없는 메서드추상 메서드를 하나라도 갖고 있는 클래스는 반드시 추상 클래스로 선언해야한다.(추상 메서드 없이도 추상 클래스를 선언할 수는 있다)추상클래스는 인스턴스, 즉 객체를 만들 수 없다. > new를 사용할 수 없다.추상 메
객체 지향 설계 원칙 : '응집도 높이고 결합도 줄이자' 이것을 객체 지향 관점에서 재정의한 것.결합도 : 클래스 간 상호 의존 정도. 결합도가 낮으면 모듈 간 상호 의존성이 줄어들어 객체의 재사용, 수정, 유지보수 용이응집도 : 하나의 모듈 내부에 존재하는 구성 요소
< 김영한의 실전 자바 - 기본편 > 강의를 보고 이해한 내용을 바탕으로 합니다.위 코드에서 학생 두명을 다루어야 하므로 각각 다른 변수를 사용했는데,여기서의 문제점은 학생이 늘어날 때마다 변수를 추가로 선언해야 하고 출력하는 코드도 추가해주어야 한다는 점이다.
< 김영한의 실전 자바 - 기본편 > 강의를 보고 이해한 내용을 바탕으로 합니다.자바는 항상 변수의 값을 ❗️복사❗️해서 대입한다. 너무너무 중요!!int, long, double, boolean처럼 사용하는 값을 변수에 직접 넣을 수 있는 데이터 타입. 기본형
< 김영한의 실전 자바 - 기본편 > 강의를 보고 이해한 내용을 바탕으로 합니다.실행 순서를 중요하게 생각하는 방식이다.프로그램의 흐름을 순차적으로 따르며 처리하는 방식이다. '어떻게'를 중심으로 프로그래밍객체를 중요하게 생각하는 방식이다.실제 세계의 사물이나 사
객체를 생성하는 시점에 뭔가를 하고 싶을 때 생성자를 사용하면 된다.객체를 생성하고 나면 name, age, grade 같은 변수에 초기값을 설정한다. 위 코드에서 회원의 초기값을 설정하는 부분이 계속 반복된다. initMember() 메서드를 사용해서 반복을 제거했지
< 김영한의 실전 자바 - 기본편 > 강의를 보고 이해한 내용을 바탕으로 합니다.자바에서 폴더, 디렉토리와 같은 개념.pack패키지 하위에 Data 클래스를 생성했다.pack패키지 하위에 a패키지를 생성하고 그 아래에 User클래스를 생성했다.PackageMain
< 김영한의 실전 자바 - 기본편 > 강의를 보고 이해한 내용을 바탕으로 합니다.자바는 public, private 와 같은 접근 제어자를 제공한다.접근 제어자를 사용하면 해당 클래스 외부에서 특정 필드나 메서드에 접근하는 것을 허용하거나 제한할 수 있다.만약 스
< 김영한의 실전 자바 - 기본편 > 강의를 보고 이해한 내용을 바탕으로 합니다.자바의 메모리 구조(JVM의 메모리 구조)는 크게 메서드 영역, 스택 영역, 힙 영역 세개로 나눌 수 있다.메서드 영역 : 클래스 정보를 보관.스택 영역 : 실제 프로그램이 실행되는
< 김영한의 실전 자바 - 기본편 > 강의를 보고 이해한 내용을 바탕으로 합니다.final키워드는 이름 그대로 끝이라는 뜻이다.변수에 final 키워드가 붙으면 더는 값을 변경할 수 없다.참고로 final은 class, \`method를 포함한 여러 곳에 붙을 수
강의를 보고 이해한 내용을 바탕으로 합니다. 위와 같이 전기차(ElectricCar)에는 이동(move()), 충전(charge()) 기능이 있고, 가솔린차(GasCar)는 이동(move()), 주유(fillUp()) 기능이 있다. 전기차와 가솔린차는 자동차(Ca
< 김영한의 실전 자바 - 기본편 > 강의를 보고 이해한 내용을 바탕으로 합니다.객체지향 프로그래밍의 대표적인 특징으로는 캡슐화, 상속, 다형성이 있다.그 중에서 다형성은 객체지향 프로그래밍의 꽃이라 불린다.앞서 공부한 캡슐화나 상속은 직관적으로 이해하기 쉬운 반
< 김영한의 실전 자바 - 기본편 > 강의를 보고 이해한 내용을 바탕으로 합니다.다형성을 사용하지 않았을 때중복코드가 많다. 중복을 제거하기 위해서는 메서드를 사용하거나 배열과 for문을 사용하면 되는데 Dog, Cat, Cow는 서로 완전히 다른 클래스이다.메서
동물(Animal)과 같이 부모 클래스는 제공하지만, 실제 생성되면 안되는 클래스를 추상 클래스라 한다.추상 클래스는 이름 그대로 추상적인 개념을 제공하는 클래스이다. 따라서 실체인 인스턴스가 존재하지 않는다. 대신에 상속을 목적으로 사용되고, 부모 클래스 역할을 담당
< 김영한의 실전 자바 - 기본편 > 강의를 보고 이해한 내용을 바탕으로 합니다.자바는 순수 추상 클래스를 더 편리하게 사용할 수 있는 인터페이스라는 기능을 제공한다.인터페이스는 class가 아니라 interface 키워드를 사용하면 된다.인터페이스는 public
< 김영한의 실전 자바 - 기본편 > 강의를 보고 이해한 내용을 바탕으로 합니다.컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러개의 독립된 단위, 즉 객체들의 모임으로 파악하고자 하는 것이다. 각각의 객체는 메시지를 주고 받고, 데이터를 처리할 수