public, protected, pirvate, defaultdefault: 아무런 선언도 하지 않은 상황선언을 할 수 있는 대상 -> 클래스의 정의, 클래스의 인스턴스 변수와 메소드클래스 정의 대상: public, default인스턴스 변수와 메소드 대상: publ
접근 수준 지시자 public, protected, private, default중 하나.pirvate 선언이 된 변수는 클래스 내부에서만 접근을 허용한다.👉프로그램 사용자의 실수로 잘못된 값을 인스턴스 변수에 저장.👉인스턴스 변수의 직접적인 접근 허용으로 컴파일
클래스 변수 (static 변수) static으로 선언된 변수는 변수가 선언된 클래스의 모든 인스턴스가 공유하는 변수이다. 👉인스턴스 생성 시마다 1씩 값이 증가. 👉클래스 변수는 인스턴스 내에 존재하는 변수가 아니라 ‘어떠한 인스턴스에도 속하지 않는 상태로 메모
상위 클래스에 정의된 메소드를 하위 클래스에서 다시 정의하는 것무효화 시키다.메소드의 이름, 메소드의 반환형, 메소드의 매개변수 선언 —> 이 세 가지가 같아야 ‘메소드 오버라이딩’ 성립Cake의 yummy 메소드를 CheeseCake의 yummy 메소드가 오버라이딩오
한 클래스 내에 동일한 이름의 메소드를 둘 이상 정의하는 것은 허용되지 않는다. 그러나 매개변수의 선언이 다르면 가능하다. —> 메소드 오버로딩메소드의 이름이 같아도 매개변수 선언이 다르면 메소드 호출문의 전달인자를 통해서 호출된 메소드를 구분할 수 있다.반환형이 다른
인스턴스 변수: 클래스 내에 선언된 변수인스턴스 메소드: 클래스 내에 정의된 메소드인스턴스 변수는 지역변수가 아니다. 인스턴스 변수가 선언된 위치는 메소드 내부가 아니므로 둘의 성격이 다르다. -> 인스턴스 변수는 같은 클래스 내에 위치한 메소드 내에서 접근이 가능하다
BankAccount에 정의된 변수와 메소드를 담고 있는 인스턴스를 메모리 공간에 생성만들어진 인스턴스를 사용하기 위해 참조할 수 있는(가리키고 있을 수 있는) 무엇인가 필요하다 —> 참조변수(Reference Variable)인스턴스 = 객체키워드 new를 통해서 인
인스턴스 생성 과정에서 초기화를 위해 자동으로 호출되는 일종의 메소드생성자의 이름은 클래스의 이름과 동일해야 한다.생성자는 값을 반환하지 않고 반환형도 표시하지 않는다.인스턴스 생성 시 자동으로 호출되어 인스턴스를 초기화소괄호 안에 값을 전달하고 이 값들은 생성자가 호
break, continue는 실행 흐름의 조절을 목적으로 반복문 내에 삽입되는 키워드 break문이 실행되면, 이름 감싸고 있는 '반복문' 하나를 빠져나가게 된다. continue문은 실행하던 반복문의 나머지 부분을 생략하고 프로그램의 흐름을 '조건 검사 부분'으로 이동시킨다. 반환형이 void로 선언된 메소드 내에서도 값의 반환이 아닌 메소드의 종...
하나의 소스파일에는 public으로 선언된 클래스의 정의를 하나만 둘 수 있다. 소스파일의 이름은 public으로 선언된 클래스의 이름과 동일해야 한다.자바에서 말하는 ‘정보’는 클래스의 ‘인스턴스 변수’를 의미한다. 따라서 정보를 은닉한다는 것은 인스턴스 변수를 숨긴
제네릭이 갖는 의미는 ‘일반화’이다. 그리고 자바에서 그 일반화의 대상은 자료형이다.Box< T> 클래스에서 사용된 T를 가리켜 ‘타입 매개변수(Type Parameter)’라 한다. 메소드의 매개변수와 유사하게 자료형 정보를 인자로 전달받는 형태이기 때문이다.
class Outer { class Nested {…} } 클래스 내에 정의된 클래스를 가리켜 ‘네스티드 클래스(Nested Class)’라 하고, 이를 감싸는 클래스를 가리켜 ‘외부 클래스(Outer Class)’라 한다.네스티드 클래스는 static의 선언 여부를
데이터의 흐름을 가리켜 ‘스트림’이라고 한다. 그리고 데이터를 흘려보낼 연산의 종류는 다음 두가지로 나뉜다. 중간연산(Intermediate Operation) : 마지막이 아닌 위치에서 진행이 되어야 하는 연산 최종 연산(Terminal Operation) : 마지막