■Object클래스 1.toString() 2.equals() 3.hashCode() JVM에서 관리하는 중복없는 값. 실제 메모리에 할당되는 주소와 다르다. String 클래스에서는 필드의 해쉬코드값이 아닌 필드 안에 있는 문자열 상수값의 해쉬코드값을 리턴하도록 재정의하였다. ※ 컬렉션 프레임워크 챕터에서 재정의 목적을 이해하도록 한다. (해쉬코드) 메모리 관리를 JVM이 해줌. 필드 > JVM(에 할당할 때 갖는 필드의 고유한 값을 hashCode) > hashCode값이 메모리에 올라가면 주소값 메모리까지 가기전의 주소 실제 주소가 부여되기 이전의 주소 메모리에 올리기 전에 준비할 때 쓰는 주소 자바 자체적으로 만들어 놓은 중복없는 값 hashCode가 부여가 됐으면 거기에 맞게끔 실제 메모리에 할..

■ Day1~10 총정리 출력 메소드 : 오류 구체화 변수 : 저장공간 자료형 : int(4byte), float(4byte), double(8byte), char(2), String(?), boolean(1) 1byte가 정보의 최소단위 형변환 : 문자+정수 = 정수 입력 메소드 연산자 : 최단삼쉬관리삼대, 결합성 제어문 : 조건문, 반복문(for : 반복 횟수를 알 때, while : 반복 횟수를 모를 때) 배열 : 저장공간의 나열, 시작 주소, 인덱스 0부터 시작? 배열은 시작 주소를 가지고 있으니까 [], 1. 여러 칸 만들기, 2.규칙성 부여 메소드 : 이름(), 저장공간(소스코드의 주소값), 매개변수?화면에서 입력받은 값을 전달받는 공간 클래스 : 반, 한 번씩만 선언하기 위해서, 재사용, 1..
■ 추상 클래스 설명 클래스가 추상적이라는 말이 아님 원래 모든 클래스가 추상적임 클래스 안에 선언한 필드 중에서 추상적인 개념이 있다는 뜻 추상 메소드를 선언할 수 있는 클래스 클래스 선언하면 그 안에 필드가 구현이 안되어있는 메소드 >> 추상 메소드 >> {}가 없다는 뜻 메소드를 선언할 때 구현이 되어 있으면 {} {}가 비어있어도 구현된 것 실무에서는 {}를 '바디'라고 칭함 반드시 재정의해야 하는 메소드는 추상 메소드 상속받으면 무조건 오류 >> 재정의하라고 강제성 부여 ■ 추상 클래스 필드 안에 구현이 안 된 메소드(바디가 없음)가 선언되어 있는 클래스를 추상클래스라고 한다. 이 때 구현되지 않은 메소드를 추상 메소드라고 부른다. 반드시 재정의를 통해 구현을 해야지만 메모리에 할당되기 때문에 ..
Bank

AM 전체 인원 복습한 거 훑기 내가 뭘 배웠고 어디가 부족한지 기록하기 ■ review 클래스는 대문자로 시작! 주어이기 때문에 클래스 안에 변수, 메소드 선언 > 내용들을 '필드' 한번만 선언 > 앞으로 여러번 사용하겠다(재사용) 하드웨어 중 메모리가 기억해야 사용할 수 있음 ★생성자가 해당 필드를 메모리에 할당해주고, 그 주소값을 가져옴 생성자 != 메소드 리턴값이 주소값이기 때문에 리턴기능 제외하고 메소드와 기능 동일 매개변수를 받아와서 초기화 가능 클래스는 하나만 선언, 클래스에 접근하는 객체가 여러개 클래스를 선언하면 자동으로 this 키워드 생김 this. ; 주소값 > 메소드에 접근한 객체가 가지고 있는 필드의 주소 클래스는 추상적임 > 추상적인 개념을 가지고 필드에 접근하는 건 쉽지 않음..
클래스 복습(class : Animal, Quiz, ClassArray, RandomTest, Zoo) 변수에는 값이 담김 객체에는 주소값이 담김 기본생성자 ■public 클래스명() {;} ; 쓰는 이유 : 개발자들끼리 약속, 외국에서 자주 사용 나 일부러 비워놓은 거야,라는 뜻 ■여러 개의 데이터를 전달할 때 값에 의미를 부여할 필요가 없으면 배열 사용 값에 의미를 부여할 필요가 있으면 클래스 사용 ■확률 10단위 10, 20, 30, ... 1단위 1, 2, 3, ... 0.1단위 0.1, 0.2, 0.3, ... 0.01단위 0.01, 0.02, 0.03, ... 확률이 10단위라면 10칸 배열을, 1단위라면 100칸 배열을 선언한다. int배열로 선언한 뒤 사용자가 원하는 확률만큼 1로 값을 바..
주소에 접근하는 게 대괄호(배열) 주소를 쓰는 이유 : 영역의 구분 없이 다른 영역의 값을 수정할 때 사용 자바에서는 주소의 접근에 대한 연산자 자체가 없음 c언어에서는 직접 주소에 접근하는 연산자가 있음 하드웨어 접근 가능, 개발자를 100% 믿음 -> 핵, 크낵, 버그만들 때 사용 ■클래스(반) 공통 요소를 한 번만 선언해 놓고 가져다 사용만 하도록 설계한다. 1.타입이다 클래스 안에 선언된 변수와 메소드를 사용하고 싶다면, 해당 클래스 타입으로 변수를 선언해야 한다. 2.주어이다 Monkey.eat("바나나"); 주어 동사 목적어 대문자로 시작하는 이유 : 모든 문장 앞에서 실행하기 때문에 ■클래스에 선언된 것 > 필드(멤버)라고 부름 클래스 안에 필드가 메모리(하드웨어)에 올라가야 접근할 수 있음..
■문자 정수 연산하면 정수값! 자동으로 연산됨 'a' > 64 가능 ■전역변수 지역변수 - 해당 중괄호가 끝나면 바로 메모리에서 해제됨, 메모리 절약 ■문자열 초기화 - 목적에 따라 자유자재로 쓸 수 있어야 한다 null : 대입을 할 때 "" : 누적 연결을 할 때(+=) result += (char)(c + 32); result = result + (char)(c+32); 문자열 = 문자 + 문자열 자료형 공부하기 -------------------------------------- ■2차원 배열 : 배열 안에 배열 1차원 배열을 여러 개 선언할 때 관리하기 힘들기 때문에 2차원 배열을 한 번 선언한다. ※ 2차원 이상의 배열은 메모리 낭비가 심하므로 선호하지 않는다. 실무에서 거의 안씀, 메모리 낭..
■while문 while(조건식){ 실행할 문장; } 몇번 반복할 지 알면 for문 몇번 반복할 지 모르면 switch문 switch문에서 break로 반복문을 탈출할 수 없다 >> switch를 감싸고 있는 영역을 탈출 불가 ■ for문과 while문의 목적 - for : 몇 번 반복할 지 알 때 - while : 몇 번 반복할 지 모를 때 ▷ do~while문 : 무조건 한 번은 실행해야 할 때 do{ 실행할 문장; }while(조건식); ------------------------------------------------------------- ■기타 제어문 break : 즉시 해당 중괄호 영역을 탈출한다 - if문 안에서 사용 시 if문을 탈출하지 않고 if문을 감싸고 있는 중괄호 영역을 탈출한..
■연산자 기능이 있는 특수문자 ■연산자의 우선순위(암기) 최우선 연산자 단항 연산자 산술 연산자 쉬프트 연산자 관계 연산자 논리 연산자 && 삼항 연산자 대입 연산자 최단산쉬관리삼대 ■결합성 하나의 수식에 동일한 연산자가 여러 개 사용되면 알맞은 방향으로 결합되어 연산되는 성질 ■비트 연산 컴퓨터에 대한 이해를 높이기 위함 논리 연산자 & (AND, 논리곱), A % B, 두 비트가 모두 1이면 1 | (파이프 연산자)(OR, 논리합), A | B, 둘 중 하나라도 1이면 1 ^ (XOR, 배타논리합), A ^ B, 두 비트가 서로 달라야 1 단항 연산자 ~ (NOT, 논리부정), ~A, 0은 1로 1은 0으로 변경, ~a = -a-1 쉬프트 연산자(이동) B, A를 오른쪽으로 B만큼 비트이동 양수는 0..