마트철수
[030] 클래스는 필드, 생성자, 메소드 본문
2024.06.19(수)
JAVA 3일차
클래스 Lv.3까지 직접 풀어보기 필수
클래스는 필드, 생성자, 메소드를 내포함
▲ 위 개념은 명확히 이해해두기
Home: 개발환경 - import 설정 구축해두기
ch05 참조 타입 - 배열
배열(Array) 타입
: 변수는 하나의 값만 저장 가능
: 연속된 공간에 값을 나열, 각 값에 인덱스 부여한 자료구조
new 연산자로 배열생성
: 타입[ ] 변수 = new 타입[길이];
: new는 heap → 타입과 관계없이 0 할당
배열 길이
: JS와 달리 read only, 길이 고정임
: 배열변수.length;
다 차원 배열
: 타입[][] 변수 = {
{값1, 값2, ...},
{값3, 값4, ...},
};
String[][] names = new String[2][];

ch06 클래스
CH06~08 정말 중요함
객체 지향 프로그래밍
JAVA는 절차형이 아닌 객체 지향
우리 생활에서는 공식이 없기 때문에 맵핑 되지 않음
소설을 참고하면됨 → 글로써 장황하게 설명 = 프로그래밍도 동일
클래스 선언
: public class 클래스명 { ... }
관례상 Pascal 표기법
#클래스 안에는 데이터(필드)와 동작(메소드)
클래스의 구성 멤버
: 필드, 생성자, 메소드
#생성자가 무엇인지 이해하는것이 오늘의 목표
필드 선언과 사용
: 객체의 데이터를 저장하는 역할
#초기값이 없으면 주소값만 있는것 ... 허공을 가져온것
#클래스 내부에서는 '0'의 값을 자동으로 줌
생성자 선언과 호출
- new 연산자: 객체를 생성한 후 연이어 생성자를 호출해서 객체를 초기화 함
- 기본 생성자: 모든 클래스는 생성자가 존재한다
# 컴파일러는 기본 생성자를 바이트코드 파일에 자동으로 추가 → 그래서 모든 클래스는 생성자를 갖는다.
# 생성자 호출할 때, 괄호는 필수임 ... p.25 필기 참고
- 필드 초기화
: 객체마다 다른 값을 가져야 한다면 생성자에서 필드를 초기화
ex) public Korean(String n, String s){
name = n;
ssn = s;
}
...
Korean k1 = new Korean("박자바", "011 ...")
메소드 선언과 호출
: 객체의 동작을 실행 블록으로 정의하는 것
ex) 리턴타입 메소드명 (매개변수, ...) { ... }
ex) 가변길이 매개변수: int sum(int ... values) { ... 매개변수의 개수와 상관없이 매개값을 줌
return 문
: 리턴값과 타입은 항상 동일해야함
#Setter & Getter 코드 사용
- setter는 주는 것
- getter는 가져오는 것
인스턴스 멤버
: 선언 방법에 따른 멤버의 구분
멤버 = 필드 + 생성자 + 메서드 통틀어서
2가지로 구분 ... 인스턴스 멤버, 정적 멤버
- 인스턴스 멤버: new 로 만들어서 접근, 객체 소속
- 정적(static) 멤버: 클래스에 고정된 멤버, 항상 존재
final 필드와 상수
: 초기값이 저장되면 최종적인 값이 됨 = 상수랑 비슷(read only data)
- 인스턴스마다 다른 상수값을 가질 수 있음
- JS의 상수는 단 하나의 값만 가지는 유일성이 있음
상수 선언 ... static
: 불변의 값을 저장하는 필드면서, 하나의 값을 가지는 값
'KB IT's Your Life > 교육' 카테고리의 다른 글
| [032] JAVA 인터페이스 (상속과 비슷한) (1) | 2024.06.21 |
|---|---|
| [031] JAVA 상속 오버라이딩 (1) | 2024.06.20 |
| [029] JAVA 변수, 연산자, 반복문 (0) | 2024.06.18 |
| [028] JAVA 개발환경 구축 + 변수, 타입 (1) | 2024.06.17 |
| [027] Vue.js와 관련된 기능을 빈칸 채우기 문제 (0) | 2024.06.14 |