Java-diary/REFERENCE TYPE
-
ArrayJava-diary/REFERENCE TYPE 2020. 3. 27. 21:11
요약 array정의 변수의 반복사용을 효율적으로 줄이는 기능 변수와 배열 비교 stack과 heap array 선언 자료형[] 변수명 또는 자료형 변수명[] 정의, 변수명 = new 자료형[n] array와 반복문 FOR(조건){m[i] = for문의 변수를 이용한 수식} 규칙성이 없는 경우 int[]a = {수} Java Data Type ㄴ Reference Type ㄴ Class Type ㄴ Interface Type ㄴ Array Type ㄴ Enum Type ㄴ etc. -------------------------------------------------------------------------------------------------------------------------------..
-
[완성도-1단계][객체지향 4대 특성]캡슐화Java-diary/REFERENCE TYPE 2020. 3. 15. 13:43
정의 객체를 안전하게 감싸서 사용하는 방법으로 객체 지향 언어의 특성 객체에 직접 접근하는 것을 방지 PRIVATE와 GETTER SETTER로 이루어짐 사용법 보호하고 싶은 요소의 변수 앞에 private 지정 setter 지정 -접근하려는 사람이 값을 입력하는 것을 받아오고 조건문으로 권한에 따라 수정 가능여부를 판단 후 일치한다면 수정하는 과정 getter 지정 - 바뀐 값을 다시 사용자에게 보여주도록 return. reuturn 값은 바로 바뀌게 된 이름일 수도 있고 setter에서 권한에 준해 일부만 바뀐 후의 값을 return 할 수도 있음. 장점 1.문법적 일관성 제공 멤버 변수에 접근할 때 항상 함수를 통해 접근한다는 일관성을 제공한다. 2.읽기 전용,쓰기 전용 등에 대한 성질을 부여할 수..
-
[객체지향 4대 특성] 추상화,다형성Java-diary/REFERENCE TYPE 2020. 3. 15. 13:32
정의 구체적인 사실들을 일반화 시켜 기술한 것 추상 class 상속 목적으로 개념상 존재하는 클래스가 객체가 생기는 것을 막기위해 class에 abstract를 넣어준다. -ex)공통점을 묶어 놓은 포유류라는 분류가 존재하는 것이지 객체는 없다. - 추상 method 새로운 하위 class를 만들 때 하나의 틀로 작용하는 것. 하위 class에서 overriding을 통해 기능 구현을 한다. *추상화 주의할 점 추상 method에서 매개변수는 지정해주어야 한다. 수정할 수 있는 것은 body이다. overriding을 위해서는 ()안의 매개변수 순서에 따라 식별하기 때문 *Interface와 상속 비교 추상 클래스는 슈퍼클래스의 기능을 이용하거나 확장하기 위해 사용되고 인터페이스는 인터페이스를 구현한 객..
-
[Class]/[Java i/o] 객체의 직렬화Java-diary/REFERENCE TYPE 2020. 2. 7. 17:59
정의 자바 시스템 내부에서 사용되는 객체 또는 데이터를 외부의 자바 시스템에서도 사용 할 수 있도록 byte형태로 데이터를 변환하는 기술 -JVM의 메모리에 상주(힙 또는 스택) 되어 있는 객체 데이터를 바이트 형태로 변환하는 기술- 바이트로 변환된 데이터를 다시 객체로 변환하는 기술(역직렬화) -직렬화된 바이트 형태의 데이터를 객체로 변환 해서 JVM으로 상주시키는 기술- *나오게 된 배경 자바 I/O 처리는 정수,문자열,바이트 단위의 처리만 지원했었다. 복잡한 객체의 내용을 저장/복원하거나,네트워크로 전송하기 위해서는 객체의 멤버변수의 각 내용을 일정한 형식(패킷)으로 만들어 전송해야 했다.객체 직렬화는 객체의 내용을 자바 I/O가 자동적으로 바이트 단위로 변환하여,저장/복원하거나 네트워크로 전송할 ..
-
[Class]/[Java.util]/[Collection] GenericJava-diary/REFERENCE TYPE 2020. 2. 6. 20:04
정의 다양한 타입의 객체에 재사용을 높일 수 있는 기법 클래스에서 사용할 타입을 외부에서 설정 Reference Type에만 사용 가능 -Primitive Type에서 사용하기 위해선 Wrapper Class(예를들어 Integer)를 사용해야한다- 장점 타입을 잘못 사용해 발생하는 에러를 최소화 컴파일시 타입 체크 가능 ! 제네릭 클래스 ,제네릭 메소드 ,와일드 카드에 대한 개념 이해와 실습 진행이 필요하다.
-
[Class]/[Java.util]/[Collection] SetJava-diary/REFERENCE TYPE 2020. 2. 6. 19:46
List와는 달리 객체를 중복해서 저장할 수 없다. -중복 제거는 장점이 될 수 있다.- 인덱스로 관리하지 않아 저장 순서가 보장되지 않는다. HashSet,TreeSet,LinkedHashSet 등이 있다. 인덱스로 객체를 관리하지 않아 데이터 검색을 위해선 Iterator()메소드를 통해 데이터를 꺼내와야 한다. HashSet Set 컬렉션을 구현하는 대표 class 데이터 중복이 안되고 순서를 보장하지 않는다. add(),size() 메소드 등이 있다. HashMap Key-Value 형식의 데이터 저장 중복된 key값은 허용 하지 않음 put(key,value),get(key),contentskey(key)메소드가 존재한다. Object로 return한다. HashSet보다 빠르다.