전체 글

전체 글

    [Java] 접근 제한자, 접근권한 수식어(Access Modifier)

    접근권한 수식어(Access Modifier) 접근 제한자 1. 종류 : private, (default), protected, public 2. 기능 : 멤버변수, 멤버메소드에 대한 접근 권한을 제한 * private : "자기 자신"이 선언된 클래스에서만 사용 가능 * (default) : "자기 자신" + "같은 패키지"에 있는 클래스들에서는 사용 가능 * protected : "자기 자신" + "같은 패키지" + "상속받은 클래스"에서 사용 가능 다른 패키지의 클래스라도 "상속" 받으면 사용 가능하다. * public : 어디서든 사용 가능 3. 사용 범위 : private < (default) < protected < public * 클래스에 붙는 접근제한자는 딱 두가지이다. 1. public ..

    [Java] 객체지향 특징과 메소드 체이닝(Method chaining)

    캡슐화(encapsulation), 은닉(hiding), 추상화(abstraction) : 클래스 안에 필요한 "속성"과 "행동"을 멤버로 묶고 외부에서의 "직접적인 접근을 제한"하여 객체의 데이터와 메소드를 은닉하고, 사용자에게는 필요한 기능만 제공하여 추상화하는 객체지향 기술을 캡슐화라고 한다. * 클래스의 멤버변수를 접근하기 위한 기능을 제공하는 메소드를 getter, setter 라 한다. 클래스 안에서 this : 객체 내에서 자기자신(인스턴스)를 가르킨다. 메소드 체이닝(Method chaining) : 자기자신을 리턴하여, 연이어 메소드 호출을 가능케하는 메소드 설계, 보통 setter와 이와 같은 동작을 수행하는 메소드들에 적용하면 좋다. * this는 자기자신 인스턴스이다. 메소드에서 t..

    [Java] 클래스와 생성자(Constructor)

    클래스 : 우리가 만든 클래스를 사용하려면, 그 클래스의 인스턴스(실체 instance)를 생성해야 한다. * 클래스이름 변수이름 = new 생성자(); * 생성자() : 클래스의 이름과 동일, 클래스의 멤버변수들을 초기화 * new로 생성하는 instance들은 지역변수와 달리 인스턴스가 생성될 때 자동으로 초기화 된다. 특별히 초기화를 할 값들이 지정되어 있지 않을 때는 각 변수 타입의 기본값(default)으로 초기화 된다. 생성자(Constructor) * 생성자의 목적 : 인스턴스 생성시 멤버변수들의 초기화 * 생성자의 이름은 반드시 클래스의 이름과 동일 * 생성자는 리턴 타입이 없다. * 생성자도 매개변수(argument)를 가질 수 있다. * 생성자도 오버로딩(overload) 가능 * 클래..

    [Java] Math 클래스와 재귀 호출(recursive call)

    Math 클래스의 메소드 * Math.floor(num) : num을 넘지 않는 가장 큰 정수 * Math.ceil(num) : num보다 큰 가장 작은 정수 * Math.round(num) : num에서 반올림 * Math.random() : 난수 발생 재귀 호출(recursive call) * StackOverFlowError : Stack 메모리 영역에 공간이 없어서 생기는 오류! 해결 불가능 * OutOfMemoryError : Heap 메모리 용량 초과 * 재귀호출을 이용한 factorial 연산 : n! = n * (n - 1)! ex) 메소드명(num - 1); // 재귀호출