Language/Java

'Do it 자바프로그래밍 입문' 5장 정리

ABCD 2022. 9. 6.

목차

객체

  • 의사나 행위가 미치는 대상

객체 지향 프로그램

  • 어떤 대상(객체)을 가지고 프로그래밍 하는 것
  • 객체를 정의하고 객체간 협력을 프로그래밍 하는 것

절차 지향 프로그램

  • 순서대로 일어나는 일을 시간순으로 프로그래밍 하는 것
  • ex) 아침에 일너마 -> 씻음 -> 식사 -> 버스를 탐 -> 요금 지불 -> 학교에 도착

클래스

  • 객체의 속성과 기능을 코드로 구현화 한 것
  • 객체를 클래스로 구현하는 것을 '클래스를 정의한다'고 한다.

멤버변수(속성, 특성)

  • 클래스 내부에 선언하여 객체 속성을 나타내는 변수
  • ex)
public class Student {
int studentID;
String studentName;
int grade;
String address;
}
public void showStudentInfo() {
System.out.println(studentName);
}
}

메서드(멤버함수)

  • 클래스 내부에서 멤버 변수를 사용하여 클래스의 기능을 구현하는 것
  • ex) '학생에게 이름을 부여한다.' , '학생이 사는 곳을 출력한다.'

패키지

  • 단순한 클래스 묶음이 아닌 프로젝트 전체 소스코드를 구성하는 계층구조
  • 이 계층구조를 잘 구성해야 소스코드 관리와 유지보수가 편리함

cf. 같은 이름의 클래스여도 패키지가 다르면 서로 연관이 없다.(like~ 같은 이름이라도 다른 폴더에 있는 파일들 처럼!)


함수

  • 하나의 기능을 수행하는 일련의 코드
  • ex)

'Do it 자바프로그래밍 입문' 5장 정리

  • 함수이름(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)

  • 함수를 호출할 때 그 함수만을 위한 메모리 공간

'Do it 자바프로그래밍 입문' 5장 정리
'Do it 자바프로그래밍 입문' 5장 정리

지역변수

  • 함수 내부에서만 사용 하는 변수

함수의 장점

  • 기능을 나누어 코드를 효율적으로 구현
  • 필요할 때마다 각 함수를 호출
  • 코드의 가독성이 좋아짐
  • 기능별로 함수를 구현해 놓으면 같은 기능을 매번 코드를 만들지 않고 그 기능을 호출 함수로 호출 가능
  • 중복되는 코드를 막을 수 있음
  • 오류를 수정하는 디버깅 작업시 편리
  • 하나의 함수에 그 이름에 맞는 하나의 기능을 구현 하는 것이 중요!!!!!!!!!!

낙타 표기법

  • 변수와 메서드 이름은 소문자로 시작
  • 이름이 길어질 경우 새 단어로 바뀔 때마다 대문자를 사용 --> 가독성이 좋아짐
  • 마치 모양이 낙타 등과 같다하여 붙여진 이름

main ( ) 함수

  • 프로그램을 시작하는 함수
  • 클래스 내부에 만들지만, 메서드는 아님!!
  • 사용방법 - 클래스 내부에 main ( ) 함수를 만듬 or 외부에 테스트용 클래스를 만들어 사용

new 예약어

  • 자바에서 클래스를 생성할 때 사용
  • 이어서 생성자를 써서 사용
  • ex) 클래스형 변수이름 = nwe 생성자;

인스턴스

  • 실제로 사용할 수 있도록 생성된 클래스

'Do it 자바프로그래밍 입문' 5장 정리

참조변수

  • 인스턴스를 가르키는 클래스형 변수
  • 인스턴스의 멤버변수와 메서드를 참조하여 사용
  • ex) 참조변수.멤버변수 or 참조변수.메서드

인스턴스 생성 과정

  • new student ( ) 선언 -> student 생성
  • 각각의 student는 studentID, studentName 등의 멤버 변수를 가짐
  • 이들 변수를 저장할 공간이 힙 메모리(heap memory)

용어정리

'Do it 자바프로그래밍 입문' 5장 정리


생성자

  • 클래스를 처음 만들 때 멤버변수나 상수를 초기화 한다.
  • 클래스 이름과 같아야 한다.
  • new 키워드에 의해서만 호출된다.

디폴트 생선자

  • 매개변수와 구현코드가 없을 때 자바가 자동으로 생성하는 생성자

생성자 오버로드

  • 클래스에 생성자가 두개이상 제공되는 경우를 일컫는 말
  • 필요에 따라 매개변수가 다른 생성자를 여러개 만들 수 있다. -> 이 클래스를 사용하는 코드에서 원하는 생성자를 선택해 사용 가능

cf. 생성자를 직접 만들면 해당 인스턴스가 생성될 때 필수로 매개변수가 입력되어야 생성되게 할 수 있다.


참조 자료형

  • 클래스 자료형으로 선언하는 참조 변수의 자료형

접근 제어자

  • 클래스 내부의 변수나 메서드, 생성자에 대한 접근권한을 지정하는 것

public

  • 외부 클래스에서 접근이 가능함

private

  • 외부 클래스에서 접근이 불가
  • 외부에서 사용하려면 public 메서드를 통해 private 변수에 접근하여 사용 가능
  • 실제 정보의 오류를 방지하기 위해 상황에 따라 사용
  • ex) 2월은 윤달을 제외하고는 28일까지. 생성자를 통해 다른 값으로 지정할 수 없게 사용

정보 은닉

  • 클래스 내부에서 사용할 변수 or 메서드를 private로 선언해서 외부에서 접근을 못하도록 하는 것

접근 제어자 종류

'Do it 자바프로그래밍 입문' 5장 정리

 

728x90
반응형

댓글