Java/객체지향 65

[객체지향][자바의 정석] - 5. 변수의 초기화 멤버변수의 초기화

6.5 변수의 초기화 1. 변수의 초기화 - 지역변수(lv)는 수동초기화를 해주어야 한다(사용전에 꼭 해줘야 함) - 인스턴스 변수 클래스 변수와 같은 멤버변수는 자동초기화 된다. class InitTest{ // 인스턴스 변수로 x 초기화 없이도 y에 대입 가능(멤버변수 cv,iv는 자동초기화가 되어있기 때문) int x; int y = x; void method1(){ //지역 변수의 경우엔 수동으로 초기화해주어 사용해야 한다. // 그 이유는 지역 변수는 메소드 내에서만 사용되고 사라지기 때문에 // 메모리 효율성을 위해서 필요할 때 초기화해서 사용하는 것이 효율적이기 때문 int i; int j = i; //에러 발생부분 -> 지역변수 i를 초기화하지 않고 사용했기 때문이다. } } 멤버변수의 초..

Java/객체지향 2021.11.02

[객체지향][자바의 정석] - 6.4 생성자

6.4 생성자 construct 생성자(영어: constructor, 혹은 약자로 ctor)는 객체 지향 프로그래밍에서 객체의 초기화를 담당하는 서브루틴을 가리킨다. 생성자는 객체가 처음 생성될 때 호출되어 멤버 변수를 초기화하고, 필요에 따라 자원을 할당하기도 한다. 객체의 생성 시에 호출되기 때문에 생성자라는 이름이 붙었다. 생성자는 대체로 멤버 함수와 같은 모양을 하고 있지만, 값을 반환하지 않는다는 점에서 엄밀한 의미의 함수는 아니다. 📌출처: https://ko.wikipedia.org/wiki/%EC%83%9D%EC%84%B1%EC%9E%90 4.1 생성자 4.2 기본 생성자 # Data_1의 경우엔 생성자가 1개도 없기 때문에 기본생성자가 들어가서 오류가 나지 않는다. # Data_2의 경우..

Java/객체지향 2021.11.01

[객체지향][자바의 정석] - 3. 메서드 오버로딩

6.3 메서드 오버로딩 3.1 메서드 오버로딩(method overloading)이란? 하나의 클래스에 같은 이름의 메서드를 여러 개 정의하는 것을 메서드 오버로딩, 간단히 오버로딩이라고 한다. 3.2 오버로딩의 조건 - 메서드의 이름이 같아야 한다. - 매개변수의 개수 또는 타입이 달라야 한다. (개수가 다르든지 타입이 다르든지) - 매개변수는 같고 리턴타입이 다른 경우는 오버로딩이 성립하지 않음. (즉, 리턴타입은 오버로딩 구현에 아무런 영향을 주지 못한다는 의미이다.) void println() void println(boolean x) void println(char x) void println(char[] x) void println(double x) void println(float x) vo..

Java/객체지향 2021.10.17

[객체지향][자바의 정석] - 2. 변수와 메서드

6.2 변수와 메서드 2.1 선언위치에 따른 변수의 종류 변수의 선언 위치가 변수의 종류와 범위(scope)를 결정한다. class Variables{//클래스 영역 int iv; //인스턴스 변수 static int cv; //클래스 변수(static변수, 공유변수) void method(){ //메서드 영역 int lv = 0; //지역변수 } } 변수의 종류 선언 위치 생성시기 클래스 변수 클래스 영역 클래스가 메모리에 올라갈 때 인스턴스 변수 인스턴스 생성시 지역 변수 메서드 영역 변수 선언문 수행시 선언 위치에 따른 변수의 종류 - 인스턴스 변수 - 각 인스턴스의 개별적인 저장공간, 인스턴스마다 다른 값 저장 가능 - 인스턴스 생성 후 참조변수.인스턴스변수명 으로 접근 - 인스턴스를 생성할 때 ..

Java/객체지향 2021.10.13

[객체지향][자바의 정석] - 1. 클래스와 객체

6.1 클래스와 객체 1.1 클래스와 객체의 정의와 용도 클래스의 정의 - 객체를 정의해 놓은 것이다. 클래스의 용도 - 클래스는 객체를 생성하는데 사용된다. 객체의 정의 - 실제로 존재하는 것, 사물 또는 개념이다. 객체의 용도 - 객체의 속성과 기능에 따라 다르다. 클래스 객체 제품 설계도 제품 TV 설계도 TV 붕어빵기계 붕어빵 1.2 객체와 인스턴스 - 객체(Object)는 인스턴스(Instance)를 포함하는 일반적인 의미이다 책상은 인스턴스다. 책상은 책상 클래스의 객체다 책상은 객체이다. 책상은 책상 클래스의 인스턴스다. - 인스턴스화(instantiate, 인스턴스화) = 클래스로부터 인스턴스를 생성하는 것을 의미한다. 클래스 ---------------- (인스턴스화) ----------..

Java/객체지향 2021.10.11