
관례는 필수는 아니지만 관례가 사실상 규칙이다.1) 변수 이름은 숫자로 시작할 수 없다2) 이름에 공백이 들어갈 수 없음3) 자바의 예약어를 변수 이름으로 사용할 수 없다4) 변수 이름에는 영문자(a-z , A-Z ), 숫자(0-9 ), 달러 기호($ ) 또는 밑줄(\

1. 클래스가 필요한 이유 배열을 사용해서 코드 변경을 최소화할 수 있지만 데이터를 수정, 변경하는 데 관리의 용이성에 의해 클래스가 필요하다. 2. 클래스 class 키워드를 사용해서 학생 클래스( Student )를 정의한다. 학생 클래스는 내부에 이름( name

1. 변수 선언 중요 !! 대원칙: 자바는 항상 변수의 값을 복사해서 대입한다. 자바에서 변수에 값을 대입하는 것은 변수에 들어 있는 값을 복사해서 대입하는 것이다. 기본형, 참조형 모두 항상 변수에 있는 값을 복사해서 대입한다. 기본형이면 변수에 들어 있는 실제 사

생성자는 메서드와 비슷하지만 다음과 같은 차이가 있다.생성자의 이름은 클래스 이름과 같아야 한다. 따라서 첫 글자도 대문자로 시작한다. 생성자는 반환 타입이 없다. 비워두어야 한다.나머지는 메서드와 같다.\-this() 를 사용하면 생성자 내부에서 다른 생성자를 호출할

public: 모두 다 어디서든지 허용 가능default: 같은 패키지 내에서 호출 가능protected: 같은 패키지, 상속 관계 호출 가능private: 같은 클래스 내에서 호출 가능private, protected 사용 불가
자바 메모리 구조 자바의 메모리 구조는 크게 메서드 영역, 스택 영역, 힙 영역 3개로 나눌 수 있다. 메서드 영역: 클래스 정보를 보관한다. 이 클래스 정보가 붕어빵 틀이다. 스택 영역: 실제 프로그램이 실행되는 영역이다. 메서드를 실행할 때 마다 하나씩 쌓인다.

위 코드를 보면 알 수 있듯이 deco 메서드를 사용하기 위해 인스턴스를 생성하고 있다. 굳이 생성하지 않고도 사용할 수 있게끔 하기 위해 static을 사용한다.위와 같이 함수에 static을 붙이게 되면 정적 메서드가 된다. 이렇게 할 경우 정적변수와 같이 인스턴스

final 키워드는 이름 그대로 '끝'이라는 뜻으로 변수에 final 키워드가 붙으면 더는 값을 변경할 수 없다. 추가로 final 은 class , method 를 포함한 여러 곳에 붙을 수 있다.자바에서 static final 이 붙은 것은 상수라고 지칭한다. st

상속은 객체 지향 프로그래밍의 핵심 요소 중 하나로, 기존 클래스의 필드와 메서드를 새로운 클래스에서 재사용하게 해 준다. 이름 그대로 기존 클래스의 속성과 기능을 그대로 물려받는 것이다. 상속을 사용하려면 extends 키워드를 사용 하면 된다. 그리고 extends

다형성은 이름 그대로 "다양한 형태", "여러 형태"를 의미한다. 프로그래밍에서 다형성은 한 객체가 여러 타입의 객체로 취급될 수 있는 능력을 뜻한다. 보통 하나의 객체는 하나의 타입으로 고정되어 있다. 하지만 다형성을 사용하면 하나의 객체가 다른 타입으로 사용될 수

부모 클래스는 제공하지만, 실제 생성되면 안되는 클래스를 추상 클래스라고 한다. 추상 클래스는 이름 그대로 추상적인 개념을 제공하는 클래스이다. 따라서 실체인 인스턴스가 존재하지 않는다. 대신에 상속을 목적으로 사용되고, 부모 클래스 역할을 담당한다. 추상 클래스는 클

부모 클래스의 기능을 자식 클래스가 상속 받을 때, 클래스는 상속 받는다고 표현하지만, 부모 인터페이스의 기능을 자식이 상속받을 때는 인터페이스를 구현한다고 표현한다. 그럼 굳이 왜 다르게 표기할까?상속은 이름 그대로 부모의 기능을 물려받는 것이 목적이다. 하지만 인터