[국비 코딩 수업 22~23일차!] 11. Java 클래스

String 클래스 

- 자바에서는 문자열을 객체로 취급한다.

- 동일한 인스턴스를 중복해서 생성하지 않는다.

 

강제로 인스턴스를 생성하고자 한다면 new를 이용해서 생성.

 

 

- 절대로 수정 불가.

수정 가능 : StringBuffer, StringBuilder

 

수정이 가능하기 때문에 true가 나온다. 

 

Conmmand Line Argument(명령행 인자)

 

argument / parameter

 

argument는 전달인자 즉 함수와 메서드의 입력값.   (value)

parameter는 매개변수 즉 함수와 매서드 입력의 변수명이다. (variable)

 

 

 

※ 데이터 처리 흐름.

   ㄴ 변수 => 배열=>클래스

 

배열의 장점

- 값을 1개만 저장

 

배열의 단점

- 같은 타입끼리만 묶어야 함.

- 삽입/삭제가 불편

 

클래스

- 서로 다른 타입도 묶을 수 있음.


 

*Stack과 Heap   (memory)

 

(1) Stack

지역변수 

메서드의 복귀 주소 

임시 데이터나 주소값 저장.

 

 

(2) heap

실제 데이터 저장.

별도의 처리가 없는 한 지속적인 값의 저장의 보장함.

중괄호 안에 저장되어 있는 것처럼, 해당 변수가 저장될 메모리 공간을 heap이라고 함.

 

 

7. Class Part3

Access Modifier(접근 제한자, 접근 지정자) : 클래스, 메서드, 필드

 

1. default : 부분허용

2. public : 완전 허용

3. private : 완전 거부

 

4. protected : 부분 거부


메서드 ★★★★★

 

1. 값에 의한 전달(Call by Value)

 - 소량의 데이터, 간단한 데이터 

 

2. 참조(주소)에 의한 전달(Call By Reference)

 - 대량의 데이터 , 복잡한 데이터

간혹 소량의 데이터라고 할지라도 반드시 참조에 의한 전달을 사용해야 하는 경우가 있음.

 

값 전달, 힙 전달.   [ call ] 

 

 

클래스에 의한 참조 전달.


 

재귀함수(RecursiveTest)


Static

1. 클래스, 메소드, 변수에 사용 가능.

2. 인스턴스와는 별도로 만들어지는 메모리.

   ㄴ다른 모든 인스턴스들이 공동으로 사용하는 메모=

 

 

4. Static(정적) 변수 클래스 변수

5. Static이 붙은 메서드는 this가 존재하지 않는다. 

 

6. Static block

static int i:

...

static int j:

...

static int k:

 

static {

 i = 10;

 j = 20;

 k = 30;

}


 

***디자인 패턴

 

Singleton Pattern

- 인스턴스를 단 한 개만 만들어지게 하는 방법

  ㄴ 불필요한 인스턴스 생성을 방지

- 생성자, private, static 

- 작성 순서

  ㄴ 인스턴스 외부에서 생성할 수 없게 한다.

 

 

ㄴ 클래스 내부에서 인스턴스를 단 1개만 생성할 수 있도록 한다.

  ㄴ 생성된 인스턴스를 외부에서 사용할 수 있게 한다.

 

 

 

4. 중첩 클래스 (내부 클래스)

클래스 내부에 다른 클래스를 포함시키는 것.

 

사용하는 이유

   ㄴ 클래스들끼리 자주 접근해야 하는 이유

   ㄴ 전용 클래스로 사용할 경우.

 

내부 클래스 종류

   

ㄴ General Class (비정적 클래스)

 ㄴ Static Class (정적 클래스)

 

 

 

 

 

[국비 코딩 수업 24~25일차!] 12. Java 상속

상속 (Inheritance) ㄴ 상속은 확장의 개념 (extance를 사용하는 이유) ㄴ 상속 제외 : 생성자, private 부모 속성에다가 자식 속성을 부여하면 class Inheritance의 속성을 가지고 자식요소에서도 생성자를 통

gestyou.tistory.com