예제
객체란
객체는 상태와 동작을 가지고 있고,
상태는 특징값(속성), 동작은 객체가 할 수 있는 기능을 말한다.
클래스란
클래스는 객체를 만드는 설계도
클래스로부터 만들어지는 객체를 그 클래스의 인스턴스(instance)라고도 한다.
* 자바에서 객체 => heap영역에 할당돼있는 모든 데이터
(new 연산자를 통해 만들어진 데이터)
객체의 상태값은 변수에, 기능과 동작은 메소드(함수)에 담기게 된다.
*클래스와 객체의 차이를 알고 있는게 중요하다.
클래스 => 관련있는 변수와 함수들을 조합해서 만든 자료형 객체를 만들기 위한 설계도로 사용
객체 => 클래스를 통해 생성해낸 데이터
자동차를 만들 때 필요한게 설계도인데 이 역할이 클래스
만들어진 자동차가 객체
메인코드작성 (객체생성+함수만들기)
* String은
1. 기본자료형이 아니다.
2. char 타입의 배열로 이루어져있다.
자바내에서 char타입 배열로 만들어둔 클래스를 사용하는 것이다.
3. 클래스를 사용해 만들기 때문에 객체이다.
String s="문자";
String s=new String("문자");
의 차이점
Class Area
==> 컴파일 할 때 데이터들을 저장하는 공간
- Method Area, Code Area, Static Area 로 불리어짐
코드들을 구분을 짓는다.
1. fied information : 멤버변수의 이름, 데이터타입, 접근 제어자에 대한 정보
2. methd information : 메서드의 이름, 리턴타입, 매개변수, 접근제어자에 대한 정보
3. type information :
- Type의 속성이 class인지 interface인지의 여부 저장
- Type의 전체이름(패키지명+클래스명)
- Type의 super class의 전체이름
(단. 타입이 interface이거나 object class인 경우 제외)
- 접근 제어자 및 연관된 interface의 전체 리스트 저장
4. 상수 풀(Constant Pool)
- Type에서 사용된 상수를 저장하는 곳(중복이 있을 시 기존의 상수 사용)
- 문자 상수, 타입, 필드, Method의 symbolic reference(객체 이름으로 참조하는 것)도 상수 풀에 저장
* 문자열 관련 명령어
.length() => 문자열의 길이
.concat("결합할문자열") => 문자열 결합
.replace('이걸(문자)','이걸로바꿈(문자)') => 문자 교환
.substring(추출할 부분) => 부분 문자열 추출 (띄어쓰기 기준)
.toUpperCase() => 대문자로 변환
.equals() => 문자열 비교(같으면 true, 다르면 false)
.contains("자바") => 해당 문자열이 포함되면 true
'Java > 자바 기반 웹 개발자 과정 필기' 카테고리의 다른 글
[200310.12일차] static (정적 변수,클래스변수) && 변수 정리 (0) | 2020.03.10 |
---|---|
[200309.11일차] Java 11 - 클래스 && 객체 4 + 생성자 (0) | 2020.03.09 |
[200306.10일차] Java 10 - 클래스 && 객체 3 (0) | 2020.03.06 |
[200304.8일차] Java 8 - 클래스 & 객체 1 (0) | 2020.03.04 |
[200303.7회차] Java 7 - 배열 복습 &정렬 (0) | 2020.03.03 |
[200224.6일차] Java 6 - 배열 (0) | 2020.02.24 |
[200221.5일차] Java 5 - 반복문 - while (0) | 2020.02.21 |