Basics/Extra에 해당하는 글 5

  1. 간단 기술개념 질문답변 2022.10.12

    얕은 복사 / 깊은 복사? → 얕은 복사는 주소값만을 복사하여 복사본이 원본에도 영향을 준다. 깊은 복사는 아예 다른 인스턴스가 된다. 오버로딩 / 오버라이딩? → 오버로딩은 같은 이름의 메서드를 매개변수와 리턴형을 달리 하여 여러 개 정의하는 것 오버라이딩은 상속받은 메서드를 변경해서(매개변수, 리턴형 동일) 정의하는 것 추상 클래스 / 인터페이스? → 추상 클래스는 상속을 받아 기능을 이용하고 확장하는 데에 목적. 인터페이스는 함수의 껍데기만 존재하며 구현을 강제한다. 해당 인터페이스를 구현한 객체들에 대해 동일한 동작을 약속한다. 제네릭? → 메서드와 컬렉션 클래스에서 컴파일시에 타입을 체크하는 기능을 한다. 객체 타입의 안정성을 높이고 형변환의 번거로움을 낮춘다. 예외 처리? → 비정상적인 종료를..


  2. session vs cookie? - 수정 예정 2022.07.12

    보호되어 있는 글입니다.


  3. [보충] getInstance() & 추상 클래스, 싱글톤 패턴 2022.07.03

    getInstance() & 추상 클래스 추상 클래스는 미완성된 클래스(=미완성 설계도)로, 클래스마다 필요한 부분을 각 클래스에 맞게 완성해서 사용한다. 추상 클래스를 상속받은 하위 클래스들끼리는 공통의 변수와 메서드를 가지게 되며, 규격화할 수 있게 된다. 여러 개의 클래스를 모아서 관리하며, 한 개의 클래스 이름으로 여러 개를 제어할 수 있다. 추상 클래스를 상속받는 하위 클래스는 추상 메서드를 반드시 모두 구현해야 한다. → 미완성된 클래스이기 때문에.. 추상 클래스만으로 인스턴스를 생성할 수 없다. Calendar는 추상 클래스이기 때문에 직접 객체를 생성할 수 없고, getInstance() 메서드를 통해서 완전히 구현된 클래스의 인스턴스를 얻어야 한다. → 시스템의 국가와 지역설정을 확인하여..


  4. [보충] new & newInstance() 2022.07.03

    new 연산자는 컴파일시 이미 알려진(statically, known at compile-time) 타입의 새로운 객체를 생성하고 생성하려는 객체의 어떤 생성자든지 불러올 수 있다. (디폴트 생성자든, 파라미터가 지정된 생성자든) Class.forName().newInstance()는 특정 이름을 가진 클래스를 찾는 동적 생성자이다.객체 생성 권한이 있는지 확인하는 등의 절차가 더 있기 때문에 new 연산자를 쓰는 것보다는 처리속도가 약간 느리다.또한 항상 디폴트 생성자를 호출하기 때문에 생성하려는 인스턴스의 클래스가 파라미터를 가지지 않은 생성자(Nullary constructor)를 정의하고 있지 않은 경우에는 예외를 발생시킨다. → 매개변수를 가진 생성자를 불러오고 싶을 때는 Reflection을 ..


  5. [보충] static & instance 2022.05.27

    package day19; class Member{ String name; String sex; String address; String tel; int age; // 생성자 => 초기화만 담당 Member(String n,String s,String ad,String t,int a) { name=n; sex=s; address=ad; tel=t; age=a; } void print() // 멤버메소드 { System.out.println("이름:"+name); System.out.println("성별:"+sex); System.out.println("주소:"+address); System.out.println("전화:"+tel); System.out.println("나이:"+age); } // 별도의 ..