📌 Java 에디션 SE(Standard Edition) EE(Enterprise Edition) ME(Micro Editio) 📌 SE(Standard Edition) 클라이언트 지향의 기본적인 환경 광범위한 컴퓨팅 플랫폼을 위한 안전하고 이식 가능한 고성능 애
소문자와 대문자를 구별하여 사용ex. IF, if, If, iF는 서로 다름 (Java에서는 소문자 if를 사용함)특수문자 사용 주의▶️ 프로그램 작성 시 워드프로세서를 사용하지 말고 메모장과 같은 텍스트 편집기를 사용함 1 ) 전각 스페이스 사용 : 문서 편집기(워
오늘은 숫자를 다루는 수치형 변수와 참과 거짓을 다루는 불린형, 한 문자를 다루는 문자형에 대해 다뤄볼 예정 📌 수치형 변수 수치를 대입할 수 있는 자료형에는 정수값을 저장하기 위한 정수형과 실수값을 저장하기 위한 실수형이 있음 정수와 실수의 직관적인 차이는 숫자(
📌 프로그램과 프로그래밍 언어 💡 프로그램이란? 프로그램(Program)이란 컴퓨터가 주어진 작업을 수행하기 위한 일련의 명령어(command) 또는 문(statement)들의 모음 이라고 한다. 💡 알고리즘이란? 알고리즘(Algorithm)이란 프로그램으로 목
피연산자의 값을 1 증가시킵니다. (K = ++J;)피연산자의 값을 1 감소시킵니다. (K = --J;)전위형 : 값이 참조되기 전에 증가/감소 시킨다. (K = ++J;)후위형 : 값이 참조된 후에 증가/감소 시킨다. (K = J++;)증감연산자가 독립적으로 사용된
한 번만 값이 저장 가능한 변수숫자에 의미있는 이름을 붙여 코드 자체에 가독성을 늘리기 위해 상수 사용그 자체로 값을 의미하는 것기존의 상수와 같은 의미이지만 Java에서 상수를 '한 번만 갑이 저장 가능한 변수'라는 의미로 사용하기 때문에 구별하기 위해 사용하는 언어
내가 작성한 연산의 우선순위에 관련된 활용 예시 코드는 이렇다.실행결과에서도 정상적으로 계산되는 것을 확인할 수 있다.수치, 문자, 문자열 드으이 자료와 변수에 대해 서식을 지정하여 출력할 수 있음C언어의 printf() 함수와 유사함%d는 정수를 나타내는 서식 지정이
📌 Hello Kirby 실행 HelloKirby라는 클래스를 생성한 후, 위의 코드를 Run하면 console창에 Hello Kirby가 출력되는 것을 확인할 수 있습니다. 자세한 내용은 이전에 올린 이론을 확인하면 알 수 있지만, 복습하는 차원에서 간단하게 내
📌 변수와 메모리 공간 크기 변수에 대한 기초는 따로 정리해놓은 변수관련 이론 바로가기를 참고하면 좋다. 굳이 외울 필요는 없지만 알고 있으면 분명 좋다. 추가적으로 궁금한 점이 발생할 수 있는데 그 부분은 변수, 상수, 리터럴 이론 바로가기 이 링크를 참고하면 좋다
📌 논리연산자 실행 📍 실행결과 📌 축약(복합)연산자 산술 연산자와 대입 연산자를 한 번에 축약해서 사용할 수 있다. 종류 : , , , , i += 3 : i에 3을 더한 값을 i에 대입 i *= 4 : i에 4를 곱하고 곱한 값을 i에 대입
Switch문은 if문 보다 덜 복잡한 것 같지만 코드가 기대만큼 깔끔하게 나오지는 않는다. 이러한 문제를 해결하고자 Java14부터는 새로운 Switch문이 정식 도입되었다고 한다.\-> 를 사용함선택된 데이터를 반환할 수 있음Notepad++은 Windows에서만
단순히 참과 거짓에 따라 특정 값을 구하는 경우 삼항 연산자 또는 조건 연산자라고 불리는 ?: 연산자를 사용할 수 있다. ?: 연산자를 사용하면 if문과 비교해서 코드를 단순화할 수 있다.삼항 연산자는 항이 3개라는 뜻으로 조건, 참-표현식, 거짓-표현식 이렇게 3개다
학생의 점수를 기반으로 학점을 출력하는 코드 작성90점 이상 : A80점 이상 90점 미만 : B70점 이상 80점 미만 : C60점 이상 70점 미만 : D60점 미만 : F점수는 변수(int score)로 지정하고 해당 변수를 기반으로 학점 출력if와 else if
요청한 평점 이상의 영화를 찾아서 추천하는 코드 작성어바웃타임 - 평점9토이스토리 - 평점8인디아나존스 - 평점7평점 변수는 double rating 을 사용하고 if 문을 활용9 이상부터는 모두 false라서 아무것도 출력되지 않는다.String grade 라는 문자
같은 글자를 변경해야한다면 나만의 미니 팁이 있다.Command + R 을 이용하면 내가 바꾸고 싶은 글자를 상단에, 변경하고자 하는 글자를 하단에 입력하면 입력한대로 변경된다.단축키를 사용한 다음 원하는대로 입력 후, Replace All 을 클릭하면 모두 변경된다.
do-while 문은 while 문과 비슷하지만, 조건에 상관없이 무조건 한 번은 코드를 실행함최초 한 번은 코드 블럭을 꼭 실행해야 하는 경우에 사용하면 된다.코드 블럭을 실행한 후에 조건식을 검증하는데 i = 10 이기 때문에 while (i < 3) 조건식은
while문과 같은 반복문이고, 코드를 반복 실행하는 역할을 함for문은 반복 횟수가 정해져 있을 때 사용한다.for문은 초기화, 조건 검사, 반복 후 작업 등이 규칙적으로 한 줄에 모두 들어있어 코드를 이해하기 더 쉽다. 특히 반복을 위해 값이 증가하는 카운터 변수를
반복문은 내부에 반복문을 또 만들 수 있다. (for, while 모두 가능)중첩된 반복문은 빨갛게 표시해놓았다.
처음 10개의 자연수를 출력하는 코드 작성count라는 변수 사용while문, for문 2가지 버전의 정답 작성반복문을 사용해 처음 10개의 짝수를 출력하는 코드 작성num이라는 변수 사용while문, for문 2가지 버전의 정답 작성for() 안에 num과 count
이름 그대로 특정 지역에서만 사용할 수 있는 변수특정 지역을 벗어나면 사용할 수 없다.자신이 선언된 코드블록 {} 안에서만 생존하고, 자신이 선언된 코드를 벗어나면 제거되기 때문에 이후에는 접근할 수 없음지역이 바로 변수가 선언된 코드블록 {} 을 의미함int m 은
작은 범위에서 큰 범위로는 당연히 값을 넣을 수 있다. \- int > long > double큰 범위에서 작은 범위는 다음과 같은 문제가 발생할 수 있다 \- 소수점 버림 \- 오버플로우 위처럼 코드를 작성했지만, 결국 대입하는 형(타입)을
개발자가 직접 형변환 코드를 입력해서 명시적 형변환이라고 함큰 범위에서 작은 범위 대입은 명시적 형변환이 필요함형변환을 영어로 캐스팅이라고 함캐스팅은 영단어 cast에서 유래되었고 금속이나 다른 물질을 녹여 특정한 형태나 모양으로 만드는 과정을 의미함컴파일 오류는 문제
System.out 을 통해서 출력한 것처럼 System.in을 통해 사용자의 입력을 받을 수 있다. 하지만 \*\*System.in\*\* 을 통해 사용자 입력을 받으려면 여러 과정을 거쳐야해서 복잡하고 어렵다.이 문제를 해결하기 위해 Scanner 라는 클래스가 만
String : 문자열은 문장의 끝에 \\0(널문자)가 함께 저장이 된다. (몇개의 byte를 쓸지 모르기에 끝을 표시해야 함)참조형 변수 = 주소형 변수: 다른 기본형 변수가 실제 값을 저장하는 저장공간이라면, 참조형 변수는 실제 값이 아닌 원본값의 주소값을 저장함
: 작은타입 > 큰 타입 형 변환시: 더 큰 표현범위를 가진 타입으로 변환되는 것이라 값의 손실이 없음: 값의 손실없이 변환이 가능하기 때문에 컴파일러가 자동으로 형 변환을 해줌: 더 작은 표현범위를 가진 타입으로 변환되는 것이라 값의 손실이 생김: 값의 손실이 생기기
연산자 : 계산의 목적이 되는 것피연산자 : 계산할 때 계산의 대상이 되는 것\+ , - , \* , / , %(나머지), << , >>\> , ㅡ , >= , <= , ==, !=&&, ||, !=, ++, --(type), ?:, instance o
산술 > 비교 > 논리 > 대입연산자 여러개가 함께 있는 연산을 계산할 떄는 우선순위가 있다.위 우선순위에 따라서 최종적인 응답값이 결정된다.단, 괄호로 감싸주면 괄호 안의 연산이 최우선 순위로 계산된다.연산 전에 . 두피연산자의 타입이 다른 경우 타입을 일치시킨다.두
if ~ else문은 이렇게 이해하면 쉽다.이렇게 보아도 이해하기 쉬울 것 같다.주 골격은 if() {} 이렇게 되어있고 사용하고자한다면 반드시 기억하는 것이 좋다.if~else문보다 가독성이 좋은 편에 속하지만, 팀마다 사람마다 쓰는 방식이 다르기 때문에 그 때 정하
for문으로 구구단 만들기 Scanner를 사용해 입력한 숫자의 단만 제외하고 출력
int와 같은 기본형 변수는 1개의 값만 변수에 저장할 수 있다면int\[] 와 같은 배열형 변수는 여러개를 변수에 저장할 수 있다.여러개를 하나의 변수에 넣어놓고 들고 다니거나 하나씩 꺼내서 쓸 수 있다는 점에서 '분류통'의 개념과 비슷하다고 할 수 있다.하나의 배열
public static void main(String[] args) { // 얕은 복사 int[] a = {1, 2, 3, 4}; int[] b = a; // 얕은 복사 // b 배열의 0번쨰 순번값을 3으로
이렇게 표로 이해하려고 하면 정말 쉽게 받아들여지는 것 같다. 다차원 배열이 되려면 , 와 숫자가 늘어나는 것이라고 한다.현실에서 일어나는 복잡하고 다양한 문제를 대입해서 컴퓨터에게 풀게 하기 위해 필요하다.2차원 배열을 선언할 때에는 1차원 배열에 대괄호를 하나 더
배열보다 다수의 참조형 데이터를 더 쉽고 효과적으로 처리할 수 있는 기능을 많이 가지고 있음: 크기 자동조정, 추가, 수정, 삭제, 반복, 순회, 필터, 포함확인 등Collection 에는 List, Set, Queue, Map 이 있다.: 순서 있고 중복 있는 배열:
수직으로 값을 쌓아놓고 넣었다가 뺀다. FILO(Basket)push, peek, pop최근 저장된 데이터를 나열하고 싶거나, 데이터의 중복처리를 막고 싶을 때 사용: 비어있는지 확인: 비어있으면 True 출력: 안비어있으면 False 출력: while(!intStac
현실세계에서 어떠한 제품을 만들기 위해 부품들을 하나씩 조립해서 완성시키는 것처럼 소프트웨어 또한 필요한 부품들을 만들고 하나씩 조립해서 하나의 완성된 프로그램을 만들 수 있다. 이러한 기법을 '객체지향 프로그래밍'이라고 함: 예를 들면 물리적으로 존재하는 자동차, 도
만들고자 하는 설계도를 선언한다. 클래스 선언객체가 가지고 있어야할 속성(필드)를 정의한다.객체를 생성하는 방식을 정의한다. 생성자 Constructor객체가 가지고 있어야할 행위(메서드)를 정의한다.변수형태의 필드를 추가한다.기본 생성자(아무것도 없는 형태) : 생략
: Gv80이 가지고 있는 주소가 출력됨: 참조형 변수를 저장할 때 복잡하면 별도로 저장하고 주소를 가져오는데 객체도 마찬가지임: 객체까지도 변수형태로 저장되기 때문에 배열로서 관리를 할 수 있음 (확장성이 높음): 한 번 정해지면 변하지 않는 부분에 대한 데이터: 언
필드는 객체의 데이터를 저장하는 역할을 한다.객체의 필드는 크게 고유한 데이터, 상태 데이터, 객체 데이터로 분류할 수 있음그래서 바로 이전에 하위 객체들을 따로 만들었음한 객체에서 하위 객체들을 가지고 있을 수 있음: 필드의 값을 변경하거나 읽는 것을 의미함: 클래스
❤️🔥 : 똑같은 이름 위에 덮어서 다른 기능을 사용하는 것: 함수가 하나의 기능만을 구현하는 것이 아니라 하나의 메서드 이름으로 여러 기능을 구현하도록 하는 Java의 기능한 클래스 내에 이미 사용하려는 이름과 같은 이름을 가진 메서드가 있더라도, 매개변수의 개수
인스턴스 멤버 = 인스턴스 필드 + 인스턴스 메서드클래스 멤버 = 클래스 필드 + 클래스 메서드필드와 메서드는 선언하는 방법에 따라 인스턴스 멤버와 클래스 멤버로 구분할 수 있음인스턴스 멤버는 객체 생성 후에 사용할 수 있고 클래스 멤버는 객체 생성 없이도 사용할 수
final 필드는 초기값이 저장되면 해당값을 프로그램이 실행하는 도중에 절대 수정할 수 없음 (= 최종 값이다)또한 final 필드는 반드시 초기값을 지정해야 함필드 타입 앞에 final 키워드를 추가하여 final 필드를 선언할 수 있음사용방법은 일반적인 인스턴스 필
객체가 생성될 때 호출되며 객체를 초기화하는 역할을 수행함생성자는 반환 타입이 없고 이름은 클래스의 이름과 동일함new 연산자에 의해 객체가 생성되면서 Car(); 생성자가 호출됨선언할 때 괄호() 안에 아무것도 넣지 않은 생성자를 의미함모든 클래스는 반드시 생성자가
: 제어자는 클래스, 변수, 메서드의 선언부에 사용되어 부가적인 의미를 부여해 줌하나의 대상에 여러 개의 제어자를 조합해서 사용할 수 있으나,접슨 제어자는 단 하나만 사용할 수 있다.public, protected, default, privatestatic, final
객체지향 프로그램에서도 부모 클래스의 필드와 메서드를 자식 클래스에게 물려줄 수 있음상속을 사용하면 적은 양의 코드로 새로운 클래스를 작성할 수도 있고 공통적인 코드를 관리하여 코드의 추가와 변경이 쉬워질 수도 있음이러한 특성 때문에 상속을 사용하면 코드의 중복이 제거
🚀 오늘의 공부기록 한 눈에 보기 >> Java : 메서드 오버로딩, 매개변수(기본형, 참조형) >> Java : 인스턴스 멤버와 클래스 멤버 [>> Java : 지역변수 및 상수](https://velog.io/@kirby_y/Java-%EC%A7%80%EC%97%
오버라이딩 부모 클래스로부터 상속받은 메서드의 내용을 재정의 하는 것 부모 클래스의 메서드를 그대로 사용 가능하지만 자식 클래스의 상황에 맞게 변경해야하는 경우 오버라이딩을 사용 함 오버라이딩을 하기 위한 조건 : 선언부가 부모 클래스의 메서드와 일치해야 함 : 접근
📌 참조 변수의 타입변환 📍 자동 타입 변환 부모타입 변수 = 자식타입객체; 는 자동으로 부모타입으로 변환이 일어난다. 자식 객체는 부모 객체의 멤버를 상속받기 때문에 부모와 동일하게 취급될 수 있다. : 예를 들어 포유류 클래스를 상속받은 고래 클래스가 있다면
일반적으로 회복이 불가능한 문제시스템 레벨에서 또는 주로 환경적인 이유로 발생함코드의 문제로 발생하는 경우도 있지만 일단 발생하는 경우 일반적으로 회복이 불가능함에러가 발생한 경우 우리는 어떠한 에러로 프로그램이 종료되었는지를 확인하고 대응함일반적으로 회복이 가능한 문
avstract 키워드를 사용하여 추상 클래스를 선언할 수 있음추상 클래스는 추상 메서드를 포함할 수 있음: 추상 메서드가 없어도 추상 클래스로 선언할 수 있음추상 클래스는 자식 클래스에 상속되어 자식 클래스에 의해서만 완성될 수 있음 (= 미완성된 설계도)추상 클래스
추상메서드의 기본적인 구현을 제공하는 메서드defalut 메서드 역시 접근 제어자가 public이며 생략이 가능함추상 메서드가 아니기 때문에 인터페이스의 구현체들에서 필수로 재정의할 필요는 없음인터페이스에서 static 메서드 선언 가능static의 특성 그대로 인터페
예외를 어떻게 정의하고예외가 발생할 수 있음을 알리고사용자는 예외가 발생할 수 있음을 알고 예외를 핸들링하는지메서드 이름 뒤에 붙어 이 메서드가 어떠한 예외사항을 던질 수 있는지 알려주는 예약어여러 종류의 예외사항을 적을 수 있음메서드 안에서 실제로 예외 객체를 던질
시작은 모든 객체의 원형인 object 클래스에서 시작함문제상황을 뜻하는 Throwable 클래스가 Object 클래스를 상속함Throwable 클래스의 자식으로 에러(Error)와 예외(Exception) 클래스가 있음에러(Error) 클래스와 예외(Exception
예외는 다른 예외를 유발할 수 있다.예외 A가 예외 B를 발생시켰다면 예외 A는 B의 원인 예외임원인 예외를 새로운 예외에 등록한 후 다시 새로운 예외를 발생시키는데 이 것을 '예외연결'이라고 한다.여러가지 예외를 하나의 큰 분류의 예외로 묶어서 다루기 위함checke
Generic<T>의 클래스처럼, 제네릭을 사용한 클래스를 제네릭 클래스라고 함제네릭에서 <> 사이에 들어가는 변수명 T는 타입 변수라고 함Generic 클래스를 원시타입이라고 함객체의 static 멤버에 사용할 수 없다.: 타입 변수는 인스턴스 변수로 간주
운영체제로부터 자원을 할당받는 작업의 단위실행중인 프로그램을 의미함예를 들어 Java프로그램을 실행시키면 이 프로그램은 프로세스라는 이름으로 운영체제 위에서 실행됨OS 위에서 실행되는 모든 프로그램은 OS가 만들어준 프로세스에서 실행됨: 카카오톡, 브라우저, JAVA프