객체
- 의사나 행위가 미치는 대상
객체 지향 프로그램
- 어떤 대상(객체)을 가지고 프로그래밍 하는 것
- 객체를 정의하고 객체간 협력을 프로그래밍 하는 것
절차 지향 프로그램
- 순서대로 일어나는 일을 시간순으로 프로그래밍 하는 것
- ex) 아침에 일너마 -> 씻음 -> 식사 -> 버스를 탐 -> 요금 지불 -> 학교에 도착
클래스
- 객체의 속성과 기능을 코드로 구현화 한 것
- 객체를 클래스로 구현하는 것을 '클래스를 정의한다'고 한다.
멤버변수(속성, 특성)
- 클래스 내부에 선언하여 객체 속성을 나타내는 변수
- ex)
public class Student {
int studentID;
String studentName;
int grade;
String address;
}
public void showStudentInfo() {
System.out.println(studentName);
}
}
메서드(멤버함수)
- 클래스 내부에서 멤버 변수를 사용하여 클래스의 기능을 구현하는 것
- ex) '학생에게 이름을 부여한다.' , '학생이 사는 곳을 출력한다.'
패키지
- 단순한 클래스 묶음이 아닌 프로젝트 전체 소스코드를 구성하는 계층구조
- 이 계층구조를 잘 구성해야 소스코드 관리와 유지보수가 편리함
cf. 같은 이름의 클래스여도 패키지가 다르면 서로 연관이 없다.(like~ 같은 이름이라도 다른 폴더에 있는 파일들 처럼!)
함수
- 하나의 기능을 수행하는 일련의 코드
- ex)

- 함수이름(add)은 함수 기능과 관련있게 작성
- 매개 변수(int num1, int num2)는 함수 내부에서 사용할 괄호 안의 변수
- 매개 변수가 필요없는 함수도 있음 ex)↘
int getTenTotal() {
int i;
int total = 0;
for ( i = 1; i <= 10; i++) {
total += i;
}
return total;
}
- return(예약어)은 add함수를 수행한 후 결과 값을 변수 restult에 저장
- return(예약어)은 '이 함수의 결과 값을 반환합니다.'의 예약어
- 함수 반환형(int)은 반환 값의 자료형 ※ 반환 값 = 함수를 호출했을 때 반환되는 값(result)
- 반환값이 없는 함수도 있다. ex)↘
void printGreeting ( String name ) {
System.out.println(name + "님 안녕하세요.");
return; //반환값 없음
}
// '비어있다'라는 뜻으로 '반환할 값이 없다'를 의미하는 void를 사용
- return(예약어)은 함수 수행을 끝내고 프로그램 수행 중 호출한 곳으로 다시 되돌아갈 때도 사용
- 함수를 호출할 때 매개변수 이름과 구현할 때 사용한 매개변수 이름이 같을 필요는 없다.
스택(Stack)
- 함수를 호출할 때 그 함수만을 위한 메모리 공간


지역변수
- 함수 내부에서만 사용 하는 변수
함수의 장점
- 기능을 나누어 코드를 효율적으로 구현
- 필요할 때마다 각 함수를 호출
- 코드의 가독성이 좋아짐
- 기능별로 함수를 구현해 놓으면 같은 기능을 매번 코드를 만들지 않고 그 기능을 호출 함수로 호출 가능
- 중복되는 코드를 막을 수 있음
- 오류를 수정하는 디버깅 작업시 편리
- 하나의 함수에 그 이름에 맞는 하나의 기능을 구현 하는 것이 중요!!!!!!!!!!
낙타 표기법
- 변수와 메서드 이름은 소문자로 시작
- 이름이 길어질 경우 새 단어로 바뀔 때마다 대문자를 사용 --> 가독성이 좋아짐
- 마치 모양이 낙타 등과 같다하여 붙여진 이름
main ( ) 함수
- 프로그램을 시작하는 함수
- 클래스 내부에 만들지만, 메서드는 아님!!
- 사용방법 - 클래스 내부에 main ( ) 함수를 만듬 or 외부에 테스트용 클래스를 만들어 사용
new 예약어
- 자바에서 클래스를 생성할 때 사용
- 이어서 생성자를 써서 사용
- ex) 클래스형 변수이름 = nwe 생성자;
인스턴스
- 실제로 사용할 수 있도록 생성된 클래스

참조변수
- 인스턴스를 가르키는 클래스형 변수
- 인스턴스의 멤버변수와 메서드를 참조하여 사용
- ex) 참조변수.멤버변수 or 참조변수.메서드
인스턴스 생성 과정
- new student ( ) 선언 -> student 생성
- 각각의 student는 studentID, studentName 등의 멤버 변수를 가짐
- 이들 변수를 저장할 공간이 힙 메모리(heap memory)
용어정리

생성자
- 클래스를 처음 만들 때 멤버변수나 상수를 초기화 한다.
- 클래스 이름과 같아야 한다.
- new 키워드에 의해서만 호출된다.
디폴트 생선자
- 매개변수와 구현코드가 없을 때 자바가 자동으로 생성하는 생성자
생성자 오버로드
- 클래스에 생성자가 두개이상 제공되는 경우를 일컫는 말
- 필요에 따라 매개변수가 다른 생성자를 여러개 만들 수 있다. -> 이 클래스를 사용하는 코드에서 원하는 생성자를 선택해 사용 가능
cf. 생성자를 직접 만들면 해당 인스턴스가 생성될 때 필수로 매개변수가 입력되어야 생성되게 할 수 있다.
참조 자료형
- 클래스 자료형으로 선언하는 참조 변수의 자료형
접근 제어자
- 클래스 내부의 변수나 메서드, 생성자에 대한 접근권한을 지정하는 것
public
- 외부 클래스에서 접근이 가능함
private
- 외부 클래스에서 접근이 불가
- 외부에서 사용하려면 public 메서드를 통해 private 변수에 접근하여 사용 가능
- 실제 정보의 오류를 방지하기 위해 상황에 따라 사용
- ex) 2월은 윤달을 제외하고는 28일까지. 생성자를 통해 다른 값으로 지정할 수 없게 사용
정보 은닉
- 클래스 내부에서 사용할 변수 or 메서드를 private로 선언해서 외부에서 접근을 못하도록 하는 것
접근 제어자 종류

728x90
반응형
'Language > Java' 카테고리의 다른 글
'Do it 자바프로그래밍 입문' 7장 정리 (0) | 2022.09.12 |
---|---|
'Do it 자바프로그래밍 입문' 6장 정리 (0) | 2022.09.08 |
'Do it 자바프로그래밍 입문' 4장 정리 (0) | 2022.09.03 |
'Do it 자바프로그래밍 입문' 3장 정리 (0) | 2022.09.01 |
'Do it 자바프로그래밍 입문' 2장 정리 (0) | 2022.08.31 |
댓글