본문 바로가기

클래스 멤버와 인스턴스 멤버간의 참조와 호출 클래스 메서드와 인스턴스 메서드 클래스 메서드는 앞에 static이 붙어있다. 클래스 메서드는 객체를 생성하지 않고도 '클래스이름.메서드이름(매개변수)'로 호출이 가능하다. 인스턴스 메서드는 반드시 객체를 생성해야만 호출가능 인스턴스 메서드와 클래스 메서드의 차이점 메서드의 작업을 수행하는데 인스턴스 변수를 필요로 하는 메서드이다. 반면에 인스턴스와 관계없는 메서드를 클래스 메서드로 정의한다. 어떤 경우에 사용하나? 1. 클래스 설계할 때, 멤버변수 중 모든 인스턴스에 공통으로 사용하는 것에 static을 붙인다. (멤버 변수는 클래스 영역에 선언된 변수이며 멤버 변수는 클래스 변수, 인스턴스변수를 모두 통칭한다.) 2. 클래스 변수(static변수)는 인스턴스를 생성하지 않아도 사용할 수 있다. 3. ..
메서드 메서드란? 어떤 값을 입력하면 이 값으로 작업을 수행해서 결과를 반환하는 것. 작업을 수행하는 일련의 문장들을 하나로 묶는다. 사용하는 이유 1. 높은 재사용성 2. 중복된 코드 제거 3. 프로그램의 구조화 메서드의 선언과 구현 1. 선언부 2. 구현부 반환타입 메서드이름 (타입변수명, 타입변수명, ..) // 선언부 { ... // 구현부 } int add (int a, int b) // 선언부 { int result = a + b; // 구현부 return result; } 메서드 선언부 - 메서드이름 - 매개변수 선언 - 반환타입 매개변수 선언 : 매서드가 작업을 수행하는데 필요한 값들을 제공받기 위한 것. 메서드의 이름 : 함축적이면서도 의미있는 이름을 짓도록 노력해야 한다. 반환타입 : 출력타입..
인스턴스 변수, 클래스변수, 로컬변수 변수의 종류 1. 인스턴스 변수 : 클래스 영역에 선언. 클래스의 인스턴스를 생성할 때 만들어진다. -> 인스턴스마다 고유한 상태를 유지해야하는 속성의 경우, 인스턴스 변수로 선언 2. 클래스 변수 : 모든 인스턴스가 공통된 저장공간(변수)을 공유한다. ->한 클래스의 모든 인스턴스들이 공통적인 값을 유지해야하는 속성 3. 로컬 변수 : 메서드 내에 선언되어 메서드 내에서만 사용 가능, 메서드가 종료되면 소면되어 사용할 수 없다. 클래스 변수와 인스턴스 변수 클래스 변수 - 여러 개의 인스턴스가 static 변수를 공유한다. - 클래스 변수는 여러 인스턴스가 하나의 메모리 값을 공유할 때 필요하다. - 기준이 되는 값을 static 변수로 생성하여 유지한다. 데이터 영역 스택 메모리 힙 메모리 1001 ..