○Method

 ▷Class 내부에 선언되는 함수

 ▷objectName.methodName 으로 접근가능하다. (객체명.메소드명)

 

 ▶Overloading

  ▷같은 이름의 메소드라도 매개변수가 다르면, 다른 메소드 취급된다.

 

 ▶public String toString()

  ▷해당 객체를 String로 바꿔주는 메소드

  ▷객체를 

  ▷Object Class에서 Overriding한다.

 ▶public boolean equals(Object otherObject)

  ▷객체간의 비교를 도와주는 메소드

  ▷Object Class에서 Overriding한다.

 ▶public int hashCode()

  ▷hashCode(): 객체를 식별하는 정수값

  ▷hash값이 같으면, 같은 객체라고 어림짐작 가능하다.

 

 

 

'컴퓨터 언어 > java' 카테고리의 다른 글

Java Documentation Comments  (0) 2020.11.10
Modifier  (0) 2020.11.10
Class  (0) 2020.11.10
enum  (0) 2020.11.10
Control Structures  (0) 2020.11.10

●Class

 ▷Java 프로그램의 단위, java 프로그램은 Class들로 이루어져 있다.

 ▷특정 종류의 객체 내에 있는 변수와 메소드를 정의하는 일종의 틀

 ▷하나의 java 파일에는 하나의 public class만 있을 수 있다.

 

 ▶fields, methods로 이루어져 있다.

  ▷field: 클래스 내에서 선언되는 멤버 변수

  ▷method: 클래스 내에서 선언되는 함수

 

 

○Object Initialization (객체 초기화)

 ▶객체(Object) 생성

  ▷new 연산자를 통해서만 생성가능하다.

  ▷생성된 객체를 가리키는 변수는 객체의 주소를 가리킨다 (reference).

  ▷Class를 new를 통한 초기화 없이 사용할 수 없다.

  ▶객체 초기화 순서

   ▷1. Static intialization block

   ▷2. Datafield -> default Valye

   ▷3. Field initializer / initialization block

   ▷4. Constructor Body

 

 ▶Constructor (생성자)

  ▷객체를 생성할때 사용하는 메소드, return 타입을 쓰지 않는다.

  ▷주로 fields를 초기화하는데 사용한다.

  ▶No-argument Constructor

   ▷매개변수가 없는 생성자 (기본 생성자)

   ▷fields를 기본 값으로 초기화시킨다.

   ▷만약 Class의 생성자가 없다면, no-argument Constructor를 자동으로 생성한다.

 ※소멸자(finalize)

  ▷Java는 메모리관리를 JVM이 하므로 소멸자를 필요로 하지 않는다.

 

 

 

'컴퓨터 언어 > java' 카테고리의 다른 글

Modifier  (0) 2020.11.10
Method  (0) 2020.11.10
enum  (0) 2020.11.10
Control Structures  (0) 2020.11.10
Array  (0) 2020.11.10

○Enum (열거형)

 ▷사용자가 정의한 상수 문자열들로 이루어진 class

 ▷enumName.elemName으로 접근

 ▷일종의 Class이므로 생성자, 메서드, 멤버 변수 등을 설정가능함.

 ▷생성시에 각 문자열에 대응되는 내부 값을 정할 수 있음.

 

 ▶메서드, 멤버 변수

  ▷valueOf: 문자열 -> enum값으로 Conversion 가능

 

  ▷values(): 반복 순회에서 for-each처럼 사용가능

 

'컴퓨터 언어 > java' 카테고리의 다른 글

Method  (0) 2020.11.10
Class  (0) 2020.11.10
Control Structures  (0) 2020.11.10
Array  (0) 2020.11.10
String  (0) 2020.11.10

○Loop

 ▶while: 조건이 참이면 계속해서 반복

 ▶for: 반복 변수 초기화, 반복 조건, 반복 변수 갱신의 cycle, 반복 조건이 참이면 계속해서 반복

  ▷몇 회 반복해야하는지 알 때 사용

 ▶Enhanced for: Collections, arrays를 간편하게 순회가능하도록 해줌.

 ▶do-while: while과 비슷하지만, 최소 1회의 실행이 보장됨.

 

○Decision

 ▶if: 조건이 참이면 실행

  ▷else: 위의 if조건이 거짓일때 실행

  ▷else if: else와 if의 연결, 위의 if조건이 거짓일때 조건 검사.

 

 ▶switch: 조건 변수의 값에 따라서 실행하는 case가 달라짐.

  ▷int(정수), enum, String-Java 7 등을 입력 변수로 설정 가능

  ▷break가 없으면 다음 case도 실행함에 주의

 

○break, continue, return

 ▷break: 현재 반복문을 탈출한다.

 ▷continue: 현재 반복문의 조건검사로 넘어간다.

 ▷return: 현재 함수를 중단하고 return값을 전달한다.

'컴퓨터 언어 > java' 카테고리의 다른 글

Class  (0) 2020.11.10
enum  (0) 2020.11.10
Array  (0) 2020.11.10
String  (0) 2020.11.10
Date  (0) 2020.11.10

○Array

 ▷객체/타입들의 연속적인 집합

 

 ▶생성

  ▷int[] intArray1 = new int[10]; : new를 통한 할당

  ▷int[] intArray2 = {0, 1, 2, 3} : 할당과 동시에 초기화

  ※int intArray[10]이 가능한지 모름.

 

 ▶순회

  ▷array.length를 이용한 순회

  ▷for-each순회

 

 ▶배열 복사

  ▷Shallow  copy (reference 복사): = (Assignment operator)이용

 

  ▷Deep copy(새로운 array 생성): System.arraycopy이용

   ▷System.arraycopy(Array oriArray, int oriStartIndex, Array copyArray, int copyStartIndex, int count);

    ▷oriArray의 oriStartIndex부터 count개를 복사해서 copyArray의 copyStartIndex부터 집어넣음.

 

 ▶Arrays 클래스 (java.util.Arrays)

  ▷배열의 해석에 도움이 되는 메서드를 가지고있음.

  ▶메서드

   ▷int Arrays.binarySearch(Array arr, object elem): 2진 검색으로 객체의 위치를 검색한 후, 위치를 반환

   ▷Array Arrays.copyOf(Array oriArr, int count): oriArr에서 count개수만큼 복사한 새로운 배열을 만들어 반환

   ▷Array copyOfRange(Array oriArr, int beginIndex, int endIndex): 지정된 범위(beginIndex~endIndex)만큼 oriArr에서 복사하여 새로운 배열을 만들어 반환

   ▷boolean Arrays.equals(Array arr1, Array arr2): 배열이 서로 같은지 확인. 같으면 true

   ▷void Arrays.fill(Array arr, object fillElem): arr의 모든 요소를 fillElem으로 초기화시킴.

   ▷void Arrays.sort(Array arr): arr의 모든 요소를 오름차순 정렬함.

   ▷ArrayList Arrays.asList(Array arr1, Array arr2 ...): 일반 배열을 ArrayList로 변환한다.

 

'컴퓨터 언어 > java' 카테고리의 다른 글

enum  (0) 2020.11.10
Control Structures  (0) 2020.11.10
String  (0) 2020.11.10
Date  (0) 2020.11.10
Formatting print  (0) 2020.11.10

+ Recent posts