방명록
- 자바의 정석 56~60강 클래스의 정의, 변수 종류, 클래스/인스턴스 변수, 메서드2023년 07월 30일 17시 49분 48초에 업로드 된 글입니다.작성자: 민발자728x90
ch 6-9~10 클래스 정의
1. 클래스
- 설계도
- 데이터+함수
- 사용자 정의타입
변수 : 하나의 데이터를 저장할 수 있는 공간
배열 : 같은 종류의 데이터를 묶어서 저장할 수 있는 공간
구조체 : 서로 연관된 데이터(다른 종류)를 묶어서 저장할 수 있는 공간
클래스 : 데이터와 함수의 결합(구조체 + 함수)
2. 사용자 정의타입
원하는 타입을 직접 만들 수 있음
// 시간이라는 데이터를 다루기 위한 변수 int hour; int minute; int second; // 여러 시간을 다룰때 배열을 사용하게 된다면? int[] hour = new int[3]; int[] minute = new int[3]; int[] second = new int[3]; // 시분초 데이터를 사용하기 위해선 배열을 다뤄 시분초를 묶어 하나으 시간으로 반환하는 과정이 필요 //class를 사용하면 시간이라는 데이터를 정의하여 사용할 수 있다 class Time{ int hour; int minute; int second; } Time[] t = new Time[3]; t[0] = new Time(); t[1] = new Time(); t[2] = new Time(); // 객체배열을 이용하면 시분초를 하나로 묶기위한 과정을 줄일 수 있다.
ch 6-11 선언위치에 따른 변수 종류
종류 선언 위치 생성시기 설명 클래스 변수 cv
(static변수, 공유 변수)클래스 영역 클래스가 메모리에 올라갈 때
(RAM(메모리)에 로딩)객체 생성 불필요
아무때나 사용가능인스턴스 변수 iv 인스턴스가 생성되었을 때 객체 생성 필요
객체를 생성해야 사용 가능지역 변수 lv 클래스 영역 이외의 영역
(메서드, 생성자, 초기화 블럭 내부)변수 선언문이 수행되었을 때 메서드를 실행해야 생성 실행동안 사용 가능
메서드 종료시 자동 제거객체는 iv를 묶어놓은 것!
ch 6-12~13 클래스 변수, 인스턴스 변수
카드라는 객체
무늬, 숫자는 개별 속성
폭과 높이는 공통 속성
개별 속성 → 인스턴스 변수
공통 속성 → 클래스 변수
클래스 변수는 1개만 생성
인스턴스 변수는 객체마다 생성
calss Card { // 개별 속성 → 인스턴스 변수 String kind; int num; // 공통 속성 → 클래스 변수 static int width = 100; static int height = 250; } Card c = new Card(); // 인스턴스 변수 사용 c.kind = "heart"; c.num = 5; // 클래스 변수 사용 Card.width = 200; Card.height = 200; // 참조 변수를 사용할 수 있지만 클래스 명을 사용하는게 바람직
ch 6-14~16 메서드
1. 작업 단위로 문장들을 묶어 이름 붙인 것
2. 값(입력)을 받아서 처리하고 결과를 반환(출력)
메서드는 클래스 안에 꼭 있어야 하고 함수는 클래스에 독립적
3. 장점
- 코드의 중복을 줄일 수 있음
- 코드의 관리가 쉬움
- 코드를 재사용할 수 있음
- 코드가 간결해져 이해도↑
4. 메소드 작성
- 반복적으로 수행되는 여러 문장을 메서드로 작성
- 메서는 하나는 한 가지 기능만 수행
5. 메서드 구성
선언부 + 구현부
반환이 없는 경우 선언부에 void 입력
반환타입 메서드이름 (타입 매개변수명n, ...) // 선언부 { // 구현부 } // 반환이 없는 경우 void 메서드이름 () {}
6. 지역변수
매서드 내 선언된 변수
매개변수, 구현부에 선언된 변수
다른 메서드와 변수명 겹쳐도 상관없음 메서드 내부에서만 존재
ch 6-17~19 메서드 호출
// 메서드 호출 메서드이름(값n, ...) int result = add(3, 5) // 반환값이 있는 경우 변수 선언하여 저장
728x90'정리 > Java' 카테고리의 다른 글
자바의 정석 65~69강 static&인스턴스 메서드, 오버로딩, 생성자, this(), 변수 초기화 (0) 2023.08.04 자바의 정석 61~64강 return문, 반환값, 호출스택, 기본형매개변수, 참조형 매개변수, 참조형 반환타입 (0) 2023.08.03 자바의 정석 51~55강 객체지향 언어, 클래스와 객체, 객체 생성과 사용, 객체 배열 (0) 2023.07.30 자바의 정석 49~50강 String 클래스, Arrays로 배열 다루기 (0) 2023.07.30 자바의 정석 47~48강 2차원 배열 (0) 2023.07.30 다음글이 없습니다.이전글이 없습니다.댓글