요기도기의 하루하루

Java.StudyNote(자바의정석)-5일차 본문

카테고리 없음

Java.StudyNote(자바의정석)-5일차

요기도기 2023. 4. 28. 22:03

part 01. "Hello World"    part 02. 연산자   part 03. 조건문과 반복문   part 04. 배열

대망의 !! part 05. 객체지향 1  


01. 클래스와 객체

  • 클래스 : 객체를 정의해 놓은 것, 객체를 생성하는데 사용(제품 설계도)
  • 객체 : 실제로 존재하는 사물 또는 개념, 속성과 기능에 따라 용도가 달라짐(제품)
  • 인스턴스 : 특정 클래스로부터 생성된 객체(클래스로 객체를 만드는 과정을 인스턴스화 라고 일컫음)

 

02. 객체의 생성과 배열

 

1)객체의 생성

  • 클래스명 변수명;   // 클래스의 객체를 참조하기 위한 참조변수를 선언
  • 변수명 = new 클래스명; // 생성된 객체의 주소를 참조변수에 저장

2) 객체 배열

  • 클래스명[] 참조변수 = new 클래스명[2];  // 여러개의 객체를 담을 수 있는 배열

 

03. 클래스의 정의

  • 클래스 == 서로 연관된 여러 데이터(타입 관계X) + 함수의 결합
  • 클래스 == 사용자 정의 타입 
    시간을 다루는 타입을 만들려면 시,분,초를 변수로 한 클래스 생성해서 사용

 

04. 변수의 종류

 

변수의 종류 선언위치 생성시기
클래스 변수(cv) 클래스 영역 클래스가 메모리에 올라갈 때
인스턴스 변수(iv) 인스턴스 생성시
지역 변수(lv) 메서드 영역 변수 선언문 수행시
  • 클래스 변수
    - 클래스가 메모리에 올라갈 때 생성된다.
    - 객체 생성을 하지 않아도 언제든지 사용 가능하다(static이 앞에 붙음)
    - 접근 방법 : 클래스명.클래스변수명
  • 인스턴스 변수
    - 객체가 생성될 때 인스턴스 변수가 생성된다.
    - 접근 방법 : 참조변수명.인스턴스변수명
  • 지역 변수
    - 메서드가 호출 되서 실행될 때 생성된다.
    - 메서드가 종료되면 자동으로 제거된다.

 

05. 메서드

 

반환타입 메서드이름(타입 변수명, 타입 변수명){     //(선언부)
 // 메서드가 호출되면 수행할 코드(구현부)
}
int add(int x, int y){
int result = x + y;   // 처리
return result;         // 결과 반환
}
메서드 호출
: 메서드이름(값1, 값2); 
  • return : 실행중인 메서드를 종료하고 호출한 곳으로 되돌아 간다. 반환타입이 void인 경우는 컴파일러가 자동으로 return을 추가해줌
  • 호출스택 : 메서드 수행에 필요한 메모리가 제공되는 공간으로 메서드가 호출되면 호출 스택에 메모리가 할당, 종료되면 해제된다.

 

1) static 메서드

  • 객체생성 없이 사용 가능
  • 클래스이름.메서드이름() 으로 호출
  • 인스턴스 변수와 인스턴스 메서드를 사용하지 않는다.

2) 인스턴스 메서드

  • 참조변수.메서드이름() 으로 호출

 

06. 기본형 매개변수와 참조형 매개변수

 

1) 기본형 매개변수

  • 변수의 값을 읽기만 할 수 있다.

2) 참조형 매개변수

  • 변수의 값을 읽고 변경할 수 있다.

 

07. 오버로딩

 

08. 생성자

 

 

09. this와 this()

1) this

 

  • 인스턴스 자신을 가리키는 참조변수
  • 인스턴드 메서드(생성자 포함)에서 사용 가능
  • 지역변수와 인스턴스 변수를 구별할 때 사용 
  •  
 

2) this()

  • 생성자에서 다른 생성자를 호출할 때 사용한다.
  • this()를 사용하지 않고 클래스명(); 이렇게 생성자를 호출하면 에러가 발생함
  • 다른 생성자 호출 시 첫 줄에서만 사용 가능

 

10. 변수의 초기화