초보 개발자(5)
-
접근제한자[private,public,protected,default],getter, setter
접근 제한자 접근 제한자란, 외부로부터 접근을 제어하는 키워드이다. 접근 제한자의 종류는 4가지로, private/default/protected/public 이 있다. private은 비공개, public은 완전 공개를 의미한다. public 과 private public 키워드는 완전한 공개를 의미한다. 모두가 사용할 수 있는 공공의 산물이 되는 것이다. 이와 반면 private은 비공개를 의미한다. 오직 해당 클래스 내부에서만 사용할 수 있게 된다. 접근 제한자는 필드와 메소드에 적용될 수 있다. public 선언되면 외부의 접근이 가능하나, private의 경우 외부 접근이 불가능하다. 게터와 세터(getter&setter) private 필드는 외부 접근이 불가능하다 게터를 사용하면 privat..
2020.03.10 -
메소드(method)
메소드(method)란 보통 다른 언어엣는 함수라는 것이 별도로 존재한다. 하지만 자바는 클래스를 떠나 존재할수 없기 때문에 자바의 함수는 따로 존재 하지 않고 클래스 내에 존재 한다. 이 클래스 내의 함수를 메소드 라고 한다. 메소드의 구조 public 리턴자료형 메소드명(입력자료형1 입력변수1,입력자료형2 입력변수2,...){ ... return 리턴값; // 리턴 자료형이 void 인 경우에는 return 문이 필요없다 . } 리턴자료형은 메소드 수행 후 돌려줄 값의 자료형을 의미한다. 메소드의 리턴값은 return 이라는 명령을 사용한다. 메소드는 입출력 유무에 따라 다음과 같이 4가지로 분류 할 수 있다. 1) 입력과 출력이 모두 있는 메소드 2) 입력과 출력이 모두 없는 메소드 3) 입력은 없..
2020.03.10 -
객체(object), 클래스(class), 인스턴스(instance)
클래스(Class) 란 객체를 만들어 내기 위한 설계도 혹은 틀 연관되어 있는 변수와 메서드의 집합 객체(Object) 란 소프트웨어 세계에 구현할 대상 클래스에 선언된 모양 그대로 생성된 실체 특징 1) ‘클래스의 인스턴스(instance)’ 라고도 부른다. 2) 객체는 모든 인스턴스를 대표하는 포괄적인 의미를 갖는다. 3) oop의 관점에서 클래스의 타입으로 선언되었을 때 ‘객체’라고 부른다. 인스턴스(Instance) 란 설계도를 바탕으로 소프트웨어 세계에 구현된 구체적인 실체 즉, 객체를 소프트웨어에 실체화 하면 그것을 ‘인스턴스’라고 부른다. 실체화된 인스턴스는 메모리에 할당된다. 특징 인스턴스는 객체에 포함된다고 볼 수 있다. oop의 관점에서 객체가 메모리에 할당되어 실제 사용될 때 ‘인스턴..
2020.03.10 -
생성자(constructor)
생성자란 객체가 생성될때(new) 반드시 한번 수행되는 메소드 생성자의 특징 public 클래스명 (매개변수){} 1) 수식어는 우선 public (생성자 앞에는 접근 제어자 - public만 올 수 있다. ) 메소드는 static 올 수 있다. 2) 문법적으로 반환 유형 자체가 없음(void나 자료형을 작성할 수 없다. ) 메소드는 void나 자료형이 있어야한다. 3) 메소드이기 때문에 오버로딩 가능 4) 생성자 메소드의 이름은 크래스 명과 완벽하게 동일하게 정의해야한다. 5) 생성자는 인스턴스를 초기화 시킨다. *2,4번이 반드시 지켜져야 컴파일러가 생성자로 인식 인스턴스를 생성할때 반드시 생성자를 호출한다고 하였는데 생성자를 따로 정의하지않을때는 어떻게 호출 된 것일가? 그 이유는 클래스를 정의할때..
2020.03.10 -
garbage collector(GC)
garbage란 정리되지 않은 메모리, 유효하지 않은 메모리 주소를 말한다. -프로그래밍 언어로는 "Dangling Object" 이라고 한다. c/c++언어와 달리 자바는 개발자가 명시적으로 객체를 해제할 필요가 없다. 사용하지 않는 객체는 메모리에서 삭제(해제) 하는 작업을 garbage collector(GC)라 부르며, JVM에서 GC를 수행한다. 기본적으로 JVM의 메모리는 총 5가지 영역(클래스, 스택, 힙, 네이티브 메서드, pc레지스처)으로 나뉘는데 GC는 heap 영역만 다룬다. garbage collector 가 실행되는 때 : JVM이 프로그램을 실행하다가 메모리가 부족해지면 OS추가로 메모리를 더 요청하게 된다. 바로 이때 실행 된다. 가비지의 대상이 되는 경우 : 프로그램이 실행되..
2020.03.10