
특정 데이터 값을 저장하는 메모리 공간 -----애 붙인 이름 이라고 한다변수를 사용할 때에는 '반드시' 변수를 선언해야 합니다변수 선언하는 바업변수로 저장할 데이터가 어떤 종류인지 ---- 타입(자료형)변수의 이름 ---- 변수명(변수이름)예시) int age;int

종류 : byte, short, int, long변수에 정수 값을 저장할 때 사용전부 정수 타입의 변수들이지만 변수들 마다 메모리 사용크기, 값의 최대 최소 범위가 있기 때문에, 그거에 맞게 사용을 해야 한다.메모리 사용 및 범위 크기 순서byte < short
상수란?절대 변하지 않는 수변수 타입 앞에 final 추가값을 딱 한번만 대입할 수 있다.값이 한번 정해지면 이후 다른 값으로 변경이 불가능하다!상수 선언 예시예시)모두 대문자로 작성해줘야 함.단어가 두개 이상인 경우, 단어 사이에 언더바(\_) 를 넣어준다.예시)MA

연산에 사용하는 기호기호 단독으로 사용할 수 없음연산을 목적으로 특정 값과 함께 기호를 사용예시)\+, -, \*, /, >, <, ?, % 등등이런 기호들을 연산자라고 함연산에서 사용되는 값예시)a + b 에서 a 와 b 를 항이라고 함항이 1개일 때 사용하는

조건문 > 1. if문 > 2. switch 조건문은 위 두개가 있다! if문 영어 if : "만약 ~라면" 코딩 if : "만약 어떠한 조건일 때!" 를 확인해서 실행 제어하는 구문 if에 괄호로 조건식을 작성 조건식의 결과에 따라 블록 실행을 제어 조건식이
switc문 동일한 값을 여러 조건으로 확인할 때 유용 괄호에 확인하고자 하는 변수를 넣음 case문에 입력된 값과 일치하는 경우, 해당 case문 블록으 실행 break를 꼭 작성해줘야 한다. 그래야 switch문이 종료가 된다. break가 없으면, brea

특정 동작을 반복하도록 제어하는 구문while문do while문for문조건식이 true인 동안 while문 블록을 반복 실행조건식이 false면 블록을 실행하지 않음.예시 코드코드 설명while문이란?조건식이 true인 동안 while문 블록을 반복 실행반복문의 장점

while문과 비슷함처음에 do 블록을 우선 실행우선 실행한 후, 조건식이 true인 동안 while문 블록을 반복실행예시 코드do-while문 이란?do문 블록을 우선 실행이 후 조건식이 true인 동안 반복 실행while문과 do-while문의 동작 방식은 비슷하지

while문 이나 do-while문 보다 더 자주 쓰이는 반복문실제로 가장 많이 사용함for문의 초기화식, 조건식, 증감식에 따라 반복 제어예시 코드예시코드에 대한 설명조건이 false가 되면?초기화식, 조건식, 증감식은 생략 가능하다생략할 땐, 영역은 비워두고 ;(세

두 개의 명령어는 반복문을 제어할 때 사용한다.break : "지금 당장 반목문을 중지하고 싶다!!!!"continue : "여기까지만 하고, 다음 반복 작업으로 넘어가고 싶다!!!"결과결과break문 : 반복문을 완전 완전 종료함! 반복이 돌던 블록을 빠져나간다con

객체란?(소프트웨어 공학 관점) : 실제로 존재하거나 생각할 수 있는 모든 것(객체 지향 프로그래밍) 현실에 있는 모든 것은 객체로 만들 수 있음눈에 보이는 것부터 눈에 보이지 않는 것까지 실존하고 관념적인 것들 모두 객체가 될 수 있음.구현할 대상(객체)를 고려하여

첫 시간, 변수에서 나왔던적이 있다?정수, 실수, 문자, 논리 값을 변수로 저장할 때 기본타입으로 분류메모리 상에서 변수에 값이 직접 저장됨기본타입에 대한 변수객체를 변수에 저장할 때 분류하는 타입객체의 메모리 주소(번지)가 변수에 저장됨객체 메모리 주소를 참조 한다는

객체를 만들기 위해선 클래스를 꼭 선언 해줘야 한다.클래스명 정하기구현하고자 하는 대상을 (머리속으로? 그림으로 그려도됨) 객체 구상하기객체를 특징이나 기능 단위로 분류해서 개념적으로 정의작성규칙클래스명.java 파일 만들기 \- 프로젝트에서 원하는 패키ㅣㅈ 경로 안에

클래스와 객체를 표현하는데 빼먹을 수 없는 인스턴스에 대해 알아보자!!!!클래스를 구체화 한 것 ➡️ 클래스인스턴스 란?????? 힙(Heap) 메모리 영역에 객체가 생성됨정의된 클래스를 바탕으로 객체를 실체화한 것인스턴스화?인스턴스를 만드는 과정(실체화 과정)(이미

객체의 동작을 정의함수하나의 기능을 수행하는 코드 블럭클래스의 구성요소객체가 가진 하나의 동작을 정의클래스 안에 구현메소드(method)란클래스의 구성요소객체의 동작을 정의자바에서 "함수"의 개념을 구현한 것
함수와 메소드 똑같다아래 사진 참고메소드 결과를 반환하는 예약어메소드에서 변수를 결과값으로 반환메소드 실행 중 return; 을 만나면 그 즉시 메소드 실행을 중단하고 빠져나옴 메소드 구조1\. 결과값 타입2\. 메소드명3\. 매개변수4\. 실행블록5\. return문

일반적으로 외부에서 인스턴스 메소드를 호출할 때 사용점(Dot) 연산자(.) 를 이용함실제로 불러오면인스턴스로 메소드 호출하기점 연산자(.) 사용인스턴스.메소드명()클래스 내부에서 메소드 호출하기바로 메소드명으로 호출

필드란???????????????????객체가 가지는 속성을 나타내는 변수객체가 가지고 있는 고유한 데이터나 성격, 상태 정보들이 객체의 속성이라고 한다.이러한 객체의 속성을 나타내는 변수가 바로 필드필드 작성 위치 : 클래스 실행 블록 바로 아래 선언하는 것을 권장합

생성자란?????클래스로부터 객체를 생성할 때, 객체를 초기화함new 연산자로 객체 생성힙 메모리 상에 객체를 생성하고, 해당 메모리 주소를 반환생성자 호출객체 생성 시, 생성자가 반드시 호출됨객체를 초기화객체 내부에서 필요한 필드나 상수 등의 초기값을 설정생성자명은

char 타입이 있었지만 이건 문자 1개. 작은 따옴표('') 사용헀음문자가 여러개가 합쳐졌으면??자바에서는 문자열을 구현할 때 사용하는 자바의 기본 클래스큰 따옴표("") 사용Stirng 클래스 선언하는 방법은 두가지가 있음String 객체를 직접 생성해서 저장"문자

Stirng 클래스 사용하기 String 클래스에서 제공하는 기본 메소드들이 있다. Stirng 클래스 메소드 정리 사이트

앞 부분에서는 전부 하나의 값을 변수에 저장만 했었는데, 기본 타입이나 참조 타입에서 객체를 저장할 때에도 전부 하나만 처리를 했었는데,만약 변수 하나에 여러 데이터 값을 저장하고 싶으면?? 배열 을 사용하면 된다!같은 타입으로 둘 이상의 값을 저장할 수 있는 메모리

값이 몇 개 저장되어있는지??? ➡️ 배열의 길이배열.length.length 라는 메소드를 통해서 배열의 길이를 확인 할 수 있다.점 연산자(.)로 배열 인스턴스의 length 필드에 접근예제 코드사진 처럼 인덱스를 활용 하면 인덱스 안에 있는 값을 가져오거나 변경하

앞선 배열은 1차원 배열이였고, 2차원, 3차원 배열을 다차원 배열이라고 한다.Q. 3행 6열 구조인 2차원 배열을 코드로 구현위 예제 코는 new 연산자를 통해서 배열을 만드는 방법이고, 직접 값을 넣으면서 배열을 만들 수 있다.이렇게 바깥 중괄호 안에 다른 중괄호를

지금까지 배열의 값들을 반복문으로 가져와 확인 하는 방법배열 내부 값을 순회하기 쉽도록 제공되는 향상된 for문배열만 있어도 구현 가능기존 for문과 다르게 증감식, 조건식이 없음(:) 콜론을 사이에 두고 타입 변수, 배열을 작성0번 인덱스 부터 배열 요소를 하나씩 순

지금까지 배운걸 토대로 클래스를 만들때 어떻게 만들지 종합하는 시간클래스에서 객체 자기자신을 가리키는 키워드객체(인스턴스) 자신을 참조할 수 있음앞 포스팅 생성자 에서 있는 그림과 같이 보자면생성자에서 값을 초기화 할 때, 매개 변수명을 필드명과 이름이 겹치지 않게 정

메소드 오버로딩이란??동일한 클래스에서 동일한 이름을 가진 메소드를 여러 개 선언하는 것동일한 메소드명매개변수 타입, 개수가 달라야 함(결과값 타입은 영향 없음)매개변수 이름은 메소드 오버로딩 동작에 영향을 주지 않음JVM 에서 오버로딩으로 처리하지 않음처음엔 숫자만

메소드 오버로딩과 비슷하다고 하면 잘 이해 될꺼 같다.객체 초기화 시 다양한 케이스의 데이터 값을 초기화매개변수 타입, 개수가 달라야 함단, 매개변수 이름은 영향 없음생성자 오버로딩을 통해 데이터의 다양한 케이스에 맞춰서 클래스를 초기화 할 수 있슴값 초기화 하는데 데
앞에서 정리한 내용을 한번 더 정리하고, 정적 멤버인 static 멤버에 대해서 정리를 할려고 함클래스로부터 new 연산자를 통해 만든 하나의 객체실제 메모리 상에 구현한 것인스턴스에 속한 멤버필드, 메소드, 생성자 static ➡️ 고정된 이라는 뜻을 가짐객체를 만들
final 에 대한 기본 개념 정리
정적 멤버 static : 클래스로부터 만들어진 여러 인스턴스들이 모두 공유하는 멤버불변의 값 final : 실행 도중 수정할 수 없는 불변의 값그렇다면?상수 : "오직 하나의, 불변의 값" 라고 할 수 있다필드 타입 앞에 static final 작성해서 선언상수명은

자바에서는 패키지를 통해 많은 파일들을 효율적으로 관리할 수 있음(물리적으로) 파일 시스템 디텔토리로서, 안에 클래스 파일 등을 포함합니다디렉토리 계층을 포여줌프로젝트 안에서 패키지 위치까지의 모든 디렉토리 경로를 점(.)으로 구분해서 나타냄패키지까지 포함해서 클래스가

부모로부터 자식에게 물려주는 행위자식이 부모에게 물려받은걸 그대로 가지게 됨자식클래스가 부모클래스로부터 물려받음 (필드나 메소드 등)자식이 부모 클래스를 지정해서 상속받음상속에 대한 보편적인 생각은, 부모가 자식을 지정해서 전달해준다고 생각하지만, JAVA에서의 "상속
클래스가 객체를 만들 때, 객체 초기화를 위해 무조건 생성자를 호출한다고 했음.생성자를 별도로 선언하지 않아도 JVM이 알아서 디폴트 생성자를 호출함부모클래스의 생성자를 호출하기 위해서 자바에서는 super() , 또는 super(매개변수) 를 넣어서 사용함.(매개변수

상속을 하다보면 부모 클래스의 메소드를 그대로 사용 때론 자식 클래스에선 조금 수정이 필요한 경우가 있음. 이때, 오버라이딩을 함재정의한다자식 클래스가 부모 클래스의 메소드를 재정의 한다.부모 클래스의 메소드를 자식클래스에서 오버리이딩(재정의)주의할 점 : 선언부를 동

클래스와 클래스 멤버를 어디까지 접근 허용하는지 제한하는 것.Person 클래스는 사람이라는 객체임. 누구인지를 보여주고자 하는 name 이란 필드를 사용하는데, 이 name 필드의 객체가 외부에 공개되어있고, 쉽게 접근할 수 있다면???"로비로고" 란 사람으로 만들고

추상, 추상적의 사전적 의미 : 구체성이 없는 일반화된 것추상클래스 : 구체적이지 않고 일반화된 클래스(abstract calss)지금까지 배운 클래스들은 구체적인 클래스공통적인 기능을 부모클래스 로 정의해서 상속을 하되, 일부 공통 기능 은 자식클래스에서 구현 하도록

상속 관계인 클래스에서 타입변환 발생실행 중 자동으로 타입 변환이 발생하는 것을 의미자식 클래스 ➡️ 부모 클래스 방향으로 자동 타입 변환됨자식 클래스 ➡️ 부모 클래스⬇️ 자동타입변환변환된 객체를 사용할 떄, 주의할 점자식에서 부모로 자동 타입 변환 된 후에는, 부모
추상클래스 Car와 이 클래스를 상속받는 GenesisCar클래스가 있습니다.GenesisCar클래스로부터 인스턴스를 생성해서 자동 타입 변환과 강제 타입 변환을 해보겠습니다.주석 지시에 따라서 순서대로 코드를 작성하세요.(추가 : 강제 타입 변환 전에는 price필드

클래스 구현을 위한 기능정의 & 규약클래스 구현을 위한 기능정의 & 규약이렇게 인터페이스를 만든 후에는, 클래스를 구현함.강제성을 가지고 있는 약속이기 때문에, 구현 객체에 같은 동작을 약속함. 그래서 아래 그림처럼 볼 수 있음다시한번 정리를 하자면클래스를 구현하기 위

"구현한다" 라는 의미를 가지기 때문에 implements 키워드 사용인터페이스에 추상메소드가 있다면, 추상메소드를 구현해야함그렇지 않으면Class 'LivingRoom' must either be declared abstract or implement abstract

new연산자로 구현 클래스에서 객체 생성구현 클래스를 만들때 new 연사자를 사용해서 만든건 똑같지만, 다만 기존 클래스와 사용이 조금 다름구현 클래스의 객체를 변수로 선언할 땐, 선언부에 인터페이스를 타입으로 사용인터페이스 타입 변수의 메소드를 호출하면, 구현 클래스
인터페이스 default, static, private method 사실 최근에 만들어진 메소드들이였음 JAVA7 까지는 추상메소드와 상수 까지만 있었는데, 아래 그림처러 3개가 더 추가 된것. 그래서 버전마다 인터페이스에서 사용할 수 있는 메소드가 조금씩 다를

클래스 또는 메소드 안에 정의된 클래스중첩 클래스 (인스턴스 클래스)정적 중첩 클래스 (정적 클래스)로컬 클래스익명 클래스nested class, 인스턴스 클래스인스턴스 멤버로 선언되는 중첩 클래스static 키워드 없이 선언인스턴스 필드, 메소드만 선언할 수 있음기존

이름이 없는 클래스클래스 선언과 동시에 객체를 생성하게 됨단발성으로 사용하는 경우 익명클래스를 사용상속, 인터페이스 구현을 해야만 익명클래스로 만들 수 있음기존 방식익명클래스로 선언해서 자식객체 생성생성과 동시에 중괄호를 열어서 원하는 필드나 메소드 오버라이딩까지 작성

사용자의 잘못된 조작 또는 개발자의 잘못된 코딩으로 인해 발생하는 프로그램 오류 (예외적인 상황) 을 일컫는다.예외 상황을 미리 예측하고 처리하는 것Java 에서 기본으로 제공하는 클래스로써, 프로그램에서 발생하는 예외들을 관리하는 클래스프로그램에서 발생하는 예외를 관

메소드를 작성할 때, 예외 처리를 해야할 때가 있음. 꼭 굳이 해당 메소드에 예외 처리를 하기보다는,메소드를 호출한 코드에서 예외 처리하도록 작업을 미룸메소드 선언부에 throws 키워드 추가thorws 란메소드를 호출한 코드에서 예외 처리하도록 작업을 미룸throws
예외처리에서 자원을 사용하는 경우 유용함자원 (resource; 리소스)시스템에서 사용하는 자원을 의미함ex) 파일, 네트워크, 데이터베이스 연결파일 자원에 연결하고 해제하는 방법이라고 보면 된다파일을 가져오는 코드이 사진에 나온 코드를 try-with-resource