Java
- 기본형 자료 타입 (정수, 실수, 논리) :Stack에 값이 직접 저장됨
- 참조 타입 (배열, 열거, 클래스, 인터페이스) :Stack에는 주소값, Heap에 값이 저장됨
<자료구조>
Stack - LIFO (후입선출)
Queue - FIFO (선입선출)
<메모리사용영역>
Stack
Heap
String 타입 선언 방법은 2가지.
바로 " ~~" 로 선언 혹은 new String (" ~~") 사용
바로 선언 시 같은 문자열일 경우 같은 주소값을 참조함!! but, new String의 경우 무조건 새로 Heap에 생성되고 새로운 주소값을 참조함
<배열> -1차원, 2차원
2차원 배열을 초기화 시키는 방법
행의 갯수만 선언도 가능
- 배열 복사는 for 문을 이용하거나 System.arraycopy() 메서드를 사용해도 된다. -> 얕은 복사! (예전 배열과 신규 배열이 같은 객체를 참조하게 된다)
향상된 for문
- 모든 배열을 순회할 경우 사용하면 배열처리가 훨씬 편하다. (짝수, 홀수번째만 불러올 땐 사용 불가능)
- for (int score :scores) { sum = sum+socre; } => scores배열을 순회하면서 한개씩 score 변수에 넣는다.
클래스(교재 6챕터)
- 읽어서 꼭 이해하기
UML (Unified Modeling Language)
Animal (클래스 이름) |
+name : String +age: int (속성) |
(메서드) |
class Animal { String name; int age; }
->UML 에 있는 설계도 중 클래스 다이어그램
class는 붕어빵 틀, 객체는 붕어빵
객체지향 프로그래밍의 특징
- 캡슐화 (Encapsulation) : 정보은닉 (Information Hiding), 객체 외부에서 정보를 확인할 수 없음
- 상속
- 다형성
실제 생성된 메모리를 할당받은 것을 인스턴스로 칭함.
필드 = 멤버변수 (ex. .length) : class에 직접 접근하는 방법
class 명을 오른쪽마우스 클릭,run configurations -> args를 입력 가능
열거 타입 (enumeration type)
private 는 접근지정자 중 하나
class에서 속성중 private를 앞에 붙여주면 다이어그램 상에서는 -가 붙고, 외부에서 직접 접근 (.어쩌고) 할 수 없도록 된다.
Animal (클래스 이름) |
- name : String +age: int (속성) |
(메서드) |
private에 접근하려면 set, get method 추가하여 아래처럼 변경됨.
직접 접근은 안되고 간접 접근은 가능해짐.
Animal (클래스 이름) |
- name : String +age: int (속성) |
+ setName(pname: String) + getName() : int |
return 값이 없으면 public 뒤에 void
return값이 있으면 public 뒤에 return값의 타입을 써줌. ex) int, double, String
eclipse에서 자동으로 get/set method를 만들어준다. (source -> generate get, set
보안을 위해 이렇게 직접 접근을 막고 간접 접근을 쓰도록 프로그램 설계를 한다.
package (패키지)
- 물리적인 형태는 파일시스템의 폴더
- 클래스를 유일하게 만들어주는 식별자 역할을 한다
- 대문자 사용 안됨.
단축키 ( Ctrl + Shift + O)로 패키지 import가 가능하다.
public 붙은 것은 어디서든 사용 가능하다.
import 옆에 패키지명.* : 패키지 내 모든 클래스를 임포트한다는 의미.
'Java' 카테고리의 다른 글
Java 개발 공부 7일차 (21.08.25) (0) | 2021.08.28 |
---|---|
Java 개발 공부 6일차 (21.08.24) (0) | 2021.08.28 |
Java 개발 공부 4일차 (21.08.20) (0) | 2021.08.22 |
Java 개발 공부 3일차 (21.08.19) (0) | 2021.08.22 |
Java 개발 공부 2일차 (21.08.18) (0) | 2021.08.19 |