본문 바로가기

Java/자바 기반 웹 개발자 과정 필기

[200305.9일차] Java 9 - 클래스 && 객체 2

반응형

예제

문제
클래스 생성
메인코드작성 (객체생성+함수만들기)

 

출력값

 

 

 

 

객체란

객체는 상태와 동작을 가지고 있고,

상태는 특징값(속성), 동작은 객체가 할 수 있는 기능을 말한다.

 

 

 

클래스란

클래스는 객체를 만드는 설계도

클래스로부터 만들어지는 객체를 그 클래스의 인스턴스(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

 

 

반응형