목록Java (34)
hrming
1. 다형성 (polymorphism) 하나의 객체가 여러가지 타입을 가질 수 있는 것을 의미한다. : 객체지향개념에서 다형성이란 하나의 객체가 여러 형태를 가지는 것이다. : '여러 개'를 의미하는 poly와 '형태'를 의미하는 morphism을 합쳐 polymorphism, 다형성이라고 부른다. : 자바에서 다형성이란, 한 타입의 참조변수로 여러 타입의 객체를 참조할 수 있도록 만드는 것이다. 좀 더 구체적으로 말하자면, 조상/상위 클래스 타입의 참조변수로 하위/자손 클래스의 인스턴스를 참조할 수 있도록 하는 것이다. 1-1. 참조 변수의 다형성 : 자바에서는 부모 클래스 타입의 참조 변수로 자식 클래스 타입의 인스턴스를 참조할 수 있도록 하여 구현하고 있다. 이때, 참조 변수가 사용할 수 있는 멤버..
1. 제어자 (modifier) 클래스, 변수 또는 메서드의 선언부에 함께 사용되어 부가적인 의미를 부여한다. 1-1. 접근 제어자 : public, protected, default, private 1-2. 기타 제어자 : public, final, abstract, native, transient, synchronized, volatile, strictfp : 제어자는 클래스나 멤버변수와 메서드에 주로 사용되며, 하나의 대상에 대해서 여러 제어자를 조합하여 사용하는 것이 가능하다. 단, 접근 제어자는 한 번에 네 가지 중 하나만 선택해서 사용할 수 있다. 1-1. 접근 제어자 (access modifier) 객체 지향에서 정보 은닉(data hiding)이란 사용자가 굳이 알 필요가 없는 정보는 사용..
1. Package 서로 관련된 클래스들의 묶음 ① 서로 관련된 클래스들끼리 그룹 단위로 묶어 놓음으로써 클래스를 효율적으로 관리. ② 클래스의 실제 이름음 (full name)은 패키지명을 포함한 것이다. (String클래스의 실제 이름은 java.lang.String). ③ 클래스가 물리적으로 하나의 클래스파일(.class) 인 것과 같이 패키지는 물리적으로 하나의 디렉토리이다. (java.lang.String 클래스는 물리적으로 디렉토리 java의 서브 디렉토리인 lang에 속한 String.class 파일이다) - 하나의 소스파일에는 첫 번째 문장으로 단 한번의 패키지 선언만을 허용한다. - 모든 클래스는 반드시 하나의 패키지에 속해야 한다. - 패키지는 점(.)을 구분자로 하여, 계층구조로 구성..
1. 오버라이딩 조상 클래스로부터 상속받은 메서드의 내용을 자손 클래스에 맞게 변경하는 것 ① 상속받은 메서드를 그대로 사용하기도 하지만, 자손 클래스에 맞게 변경해야 하는경우 조상의 메서드를 오버라이딩 한다. (override 의 사전적 의미는 '~위에 덮어쓰다 (overwrite)' 이다) class Point { int x; int y; String getLocation() { // 선언부 return "x :" +x+ ", y:" +y; // 구현부 (구현부, 즉 내용만 수정 가능) } } class Point3D extends Point { int z; String getLocation() { return "x : " +x+ ", y : " +y+ ", z : " +z; } } 2. 오버라이딩의..
1. 상속 기존의 클래스를 재 사용하여 새로운 클래스를 작성하는 것 (코드의 재사용) ① 두 클래스를 부모와 자식으로 관계를 맺어주는 것. ② 자손 클래스는 조상 클래스의 모든 멤버를 상속받기 때문에, 자손 클래스는 부모 클래스의 멤버들을 포함한다. (생성자와 초기화 블럭은 상속되지 않음. 멤버만 상속됨. 명시적 초기화와 초기화 블럭 , 멤버변수 초기화 시기와 순서 ) → 보다 적은 양의 코드로 새로운 클래스를 작성할 수 있고, 코드를 공통적으로 관리할 수 있음. ③ 자손 멤버의 개수는 조상보다 적을 수 없다. (같거나 많다) ④ 자식 클래스 extends 부모 클래스. ⑤ 자손 클래스가 변경되는 것은 조상 클래스에 아무런 영향을 주지 못한다. - 조상 클래스 : Parent Class, Super Cl..
booleanBoolean기본형(primitive type), 메모리에 직접 값을 저장참조형(reference type), 참조값(주소)를 가진다.null을 담을 수 없음. true, false만 담을 수 있음.null을 담을 수 있음.메모리/성능면에서는 기본형인 boolean이 우수하지만,null을 담아야 하거나 제너릭을 사용한다면 Boolean 타입을 사용하는 것이 좋다. 참고 및 출처 : https://bamboo-programmer.tistory.com/6 boolean 과 Boolean의 차이점boolean 기본형 ( primitive type ) , 메모리에 직접 값을 저장 null을 담을 수 없으며 true,false만 담을 수 있다. Boolean 참조형 ( reference type )..
HashSet : 순서x, 중복x - HashSet은 객체를 저장하기 전에 기존에 같은 객체가 있는 지 확인 (같은 객체가 없으면 저장, 있으면 저장하지 않음) - boolean add(Obeject o)는 저장할 객체의 equals()와 hashcode()를 호출 함. equals()와 hashcode()가 오버라이딩 되어 이써야 함. - 저장순서를 유지해야 할 경우, LinkedHashSet 사용 - 정렬이 필요할 경우, list에 담아서 sort(List list) 메서드 사용 TreeSet: 순서x, 중복x - 이진탐색트리로, 부모노드의 왼쪽에는 부모노드의 값보다 작은 값을 그리고 오른쪽에는 부모노드의 값보다 큰 값을 저장 - 데이터가 많아질 수록 추가/삭제에 시간이 더 걸림 (비교횟수 증가) -..
HashMap & LinkedHashMap 의 차이 HashMap에 key & value를 넣을 때, 순서가 지켜지지 않음. HashMap에 넣는 key & value의 순서가 지켜져야 할 때, LinkedHashMap 사용 참고/출처 : https://fruitdev.tistory.com/141 [Java] HashMap, LinkedHashMap 차이점 및 사용법 나는 개발을 할때 편리성으로 인하여 자주 HashMap을 사용한다. Java의 HashMap은 단순히 Key/value가 쌍으로 움직이므로 데이터나 기타 다른 객체를 담아두기에 편리하고, 사용법 또한 간단하여 자주 fruitdev.tistory.com https://coding-factory.tistory.com/556 [Java] 자바 H..
