본문 바로가기

자바기초

(45)
내가 사용하는 Eclipse 단축키 F11 : 실행 Ctrl + D : 줄 삭제 Ctrl + SpaceBar : 코드 어시스트 Ctrl + Shift + F : 줄 정렬 Ctrl + M : 해당 창 전체보기 Ctrl + / : 해당 줄 주석처리(//) Ctrl + Shift + / : 해당 범위 주석처리(/**/) Ctrl을 누른 채 함수를 누르면 해당 함수가 정의된 곳으로 이동 Alt+Shift+R : 해당 함수/변수명 수정할 경우 일괄 변환. Ctrl+1 : 에러? 선택지 바로 보여줌. Ctrl+Shift+O : import 정리 Ctrl+Shift+R : 파일 찾기 Alt+F5 : x표시가 안 없어질 때 사용해보기 (아직 사용해 본 적 X) 배우면서 자주 사용하는 걸 작성 중.
생성자 생성자(Constructor) 멤버 변수의 디폴트 값을 주는 역할로, new 연산자를 통해 객체를 생성할 때 해당 객체에 생성자가 있다면 반드시, 그리고 가장 먼저 실행된다. 생성자가 있는 객체가 부모 클래스에게 상속받을 것이 있는 자식 클래스의 경우, 부모 클래스의 내용에서 정의된 것이 있다면 해당 부분을 먼저 실행하고, 자식 클래스의 내용과 중복되는 부분은 자식 클래스의 내용으로 덮어씌운다. 예시) 만약 위의 코드에서 class 홍길동의 생성자가 없었다면 출력은 다음과 같다. 이름: 이름 나이: 17
쿠키, 세션, 캐시 쿠키 사이트를 방문하고 이용할 때 브라우저에 저장되는 내용. 브라우저는 내 컴퓨터에 있는 것이니 내가 갖고 있는 정보. 임의로 고치거나 지울 수 있고 남이 도둑질 할 수도 있음. 세션 세션을 사용하는 사이트에 접속하면, 서버에서는 사용자를 구분하기 위한 기한이 짧은 임시 키 하나를 브라우저에 보내서 쿠키로 저장. 중요한 정보는 세션으로 서버 안에서 저장됨. + 모든 정보를 세션에 저장한다면? =>이용자가 많을 경우 서버에 과부화가 걸림. 캐시 가져오는데 비용이 드는 데이터를 한 번 가져온 뒤에 임시로 저장해 놓는 것. 사용자가 여러번 방문할 법한 사이트에서는 한 번 받아온 데이터를 사용자의 컴퓨터 또는 중간 역할을 하는 서버에 저장하는 것
가비지 컬렉터 C나 C++과 같은 언어는 수동으로 메모리를 비워줘야 함. 비워줘야 할 공간을 깜빡하고 남겨두는 경우 메모리 누수(memory leak)가 발생하고, 이렇게 새어나가다가 메모리를 꽉 채우면 컴퓨터가 뻗음. 그래서 자바와 같은 언어에서 가비지 컬렉터를 도입. Mark-and-sweep: 쭉 훑으며 필요한 것만 마크한 후 마크되지 않은 것은 갖다 버림. 루트에서 닿지 않는 변수를 치우는 것. Reference Counting: 한 요소가 다른 요소에게 몇 번 참조가 되는지 세어서 그 수가 0이 되면 치움. 그러나, 가비지 컬렉터가 완벽한 것은 아니기에 메모리 관리를 가비지 컬렉터에 완전히 맡기는 것은 X. 필요시 사용 언어의 메모리 관리를 할 줄 알아야 함.
객체지향 프로그래밍 객체: 데이터와 기능이 클래스로 캡슐화 된 컴퓨터 자원의 묶음 private: 내부에서만 사용. 인터페이스: 메소드를 만들고 메소드의 내용은 적지 않음. 해당 인터페이스가 적용된 클래스는 인터페이스의 메소드 내용을 작성해야함. 한 번의 메소드 호출로 해당 인터페이스가 적용된 클래스들에 한꺼번에 지시를 내릴 수 있음. 상속: 자식 클래스는 부모 클래스의 변수와 메소드를 그대로 물려받음. 자식 클래스는 둘 이상의 상속을 받을 수 없다. 오직 하나. (인터페이스는 가능.) abstract(추상): 이걸로는 객체를 만들 수 없음. 부모 클래스를 추상 클래스로 했다면, 해당 클래스는 자식 클래스들의 공통분모 역할만을 위한 클래스. 오버라이드: 부모 클래스에서 정의된 메소드 작업은 자식 클래스에서 다른 내용으로 덮..
지역 변수와 인스턴스 변수 지역 변수 (local variable) 해당 변수를 선언한 블록{}에서만 접근이 가능한 변수. 변수의 생존 기간: 지역 변수가 선언된 블록의 활성화 시간 인스턴스 변수 (instance variable) instance : static 을 사용하지 않은 non-static field 어떤 등급의 하나의 인스턴스인 객체에 관련된 변수.
클래스와 객체 클래스 (class) 객체 지향 프로그래밍에서, 속성과 메소드를 공유하는 특정 객체를 생성하기 위한 일종의 틀. 입력해야 하는 데이터의 개수가 많을 때 클래스를 이용하여 객체를 정리한다면 관리가 한결 용이하고, 중복 정의를 할 필요가 없어서 효율적이다. 객체 클래스의 인스턴스. 구현할 대상. 클래스가 설계도라면, 설계도로 구현한 실체는 객체이다. 객체는 변수 안에 들어갈 수 없다. 아래의 예시는 클래스를 알기 쉽게 하기 위함.
JVM JVM (=Java Virtual Machine. 자바 가상 머신) Java로 개발한 프로그램을 컴파일하여 만들어지는 바이트 코드를 실행시키기 위한 가상머신. 컴파일러보다 느림.(자바 명령을 한 번에 읽고 실행시키기 때문)