Study

    자바 상속 & super

    의존성 주입(Dependency Injection) 생성자를 이용하여 의존성을 주입 상속 : 기존에 정의된 클래스에 메소드와 필드를 추가하여 새로운 클래스를 만드는 것. 슈퍼 클래스(부모 클래스) : 상속을 해주는 부모 클래스(상위, 기반 클래스) 서브 클래스(자식 클래스) : 상속을 받는 자식 클래스(하위, 파생 클래스) is-a 관계 일반적인 개념과 구체적인 개념과의 관계 상위 클래스가 일반적인 개념 클래스이고 하위 클래스가 구체적인 개념 클래스가 된다. has-a관계 하나의 클래스가 다른 클래스의 멤버를 가지고 이용하는 구조 자바는 다중 상속을 지원하지 않는다. (c++는 지원) 상위 클래스의 멤버(필드 또는 메소드)가 private 접근 제한자인 경우 상속을 받을 수 없다. 하위클래스의 객체를 생..

    자바 기본 API 클래스(2)

    String 클래스 indexOf() : 특정 문자나 문자열이 몇번째 인덱스에 존재하는지 반환. 없으면 -1 s2 = s1.substring(s1.lastIndexOf(".") + 1); // 파일에서 확장자만 추출 s2 = s1.replace("대한", "大韓"); // 모든 대한을 한문으로 변경. 정규식 사용불가 s2 = s1.replaceAll("대한", "大韓"); // 모든 대한을 한문으로 변경. 정규식 사용가능 정규식 패턴 \\d : 숫자, \\s : 공백(엔터, 탭 포함), | : 또는 \\w : 영숫자 \\W : 영숫자 제외 ^:시작(대괄호 밖) $:마지막 +:하나이상 ^:부정(대괄호 안) trim() : 왼쪽과 오른쪽 공백 제거 replaceAll()은 정규식 사용 가능, replace(..

    자바 기본 API 클래스(1)

    패키지 비슷한 성격의 클래스나 인터페이스 등을 모아 놓은 묶음으로 하나의 디렉토리(폴더) 자바 플랫폼 클래스 계층 구조 java.lang.Object 클래스는 자바 클래스의 최상위 클래스로 자바 플랫폼의 모든 클래스는 java.lang.Object 클래스로 부터 상속 받는다. wrapper 클래스 * : 기본형 데이터를 객체 단위로 처리할 수 있도록 만들어진 클래스 * : 기본형(int, long, double 등)은 null을 가질 수 없지만 wrapper 클래스는 null을 가질 수 있음 * : 내용불변(immutable) * 내용이 변경되면 새로운 영역의 메모리가 할당되고 기존 인스턴스는 garbage collector의 대상이 됨 기본형과 다르게 wrapper 클래스는 형변환이 되지 않는다. ja..

    자바 객체지향(3)

    생성자(Constructor) new 연산자와 같이 사용되며 객체 생성할 때 호출 자바의 모든 클래스는 생성자가 반드시 존재하며, 하나 이상 가질 수 있다. 생성자는 클래스명과 동일하며, 리턴 타입이 존재하지 않는다. 생성자를 정의하지 않는 경우, 컴파일시 디폴트 생성자가 추가된다. 생성자는 일반 메소드 처럼 호출할 수 없고 반환 타입이 없다. 생성자는 new 연산자 다음에 호출되며, 객체를 생성하고 초기화 작업을 담당 ※ 생성자에 인자(매개변수)가 있을 경우 객체 생성시 인자 또한 입력해야 한다. 객체 생성 순서 1) new 연산자에 의해서 객체의 메모리가 할당 : a필드가 heap 메모리 공간에 메모리 할당을 받는다. 2) a필드는 디폴트 값(0)으로 초기화 된다. 3) 생성자 몸체를 실행하여 a 필..

    자바 객체지향(2)

    call by value : 형식매개변수와 실매개변수가 기억공간을 따로 확보 기본 자료형은 파라미터 전달방법이 call by value 이다. call by reference : 참조(주소)값을 전달 객체를 파라미터로 전달하는 경우, 파라미터를 call by reference로 처리한다. getter/setter : Shift + Alt + s + r + a 문자열은 절대로 == 으로 비교할 수 없다. 문자열은 String 클래스의 equals() 를 이용하여 비교한다. 재귀호출 메소드 내에서 메소드 자기 자신을 호출하는 방식 반복문보다 처리 속도가 느려 비효율적 코드 간결, 오류 수정이 용이 종료 조건을 주지 않으면 StackOverFlowError가 발생하여 프로그램이 종료 된다. ex) 하노이 탑,..

    자바 객체지향(1)

    추상화 과정 1. 객체 모델링 2. 클래스 설계 3. 객체 생성 클래스 접근 권한 ex) public, private default(생략) : 동일한 패키지에서만 접근 가능 public : 어디에서나 접근 가능 private : 클래스 안에서만 접근 가능 protected : 동일한 패키지 및 하위 클래스에서 접근가능 인스턴스 변수 (인스턴스 : 할당 받음) 객체를 생성해야 접근할 수 있는 변수 "new 생성자()"를 호출할 때마다 메모리 할당이 됨 객체가 null이 되거나 오랫동안 객체를 참조하지 않는 경우 메모리가 회수됨 클래스 변수 클래스가 메모리에 로딩될 때 한번 메모리가 할당된다. 객체 생성과 무관하게 클래스명을 이용하여 바로 접근하여 사용할 수 있다. 프로그램이 종료되는 시점에 메모리에서 사라..

    정보처리기사 실기 정리(8) - UI

    UI(User Interface) UI(사용자 인터페이스)는 넓은 의미에서 사용자와 시스템 사이에서 의사소통할 수 있도록 고안된 물리적, 가상의 매개체 UI 표준 디자인 철학과 원칙 기반 하에 전체 시스템에 공통으로 적용되는 화면 간 이동, 화면구성 등에 관한 규약 UI 스타일 가이드 구성 UI의 통일과 일관적인 화면을 위해서 시스템이 지켜야 할 UI 요소 정의와 화면설계원칙을 제시 UI 지침(Guideline) UI 표준에 따라 사용자 인터페이스 설계, 개발 시 지켜야할 세부 사항을 규정하는 것을 의미 사용성 테스트(Usability Test) 사용자가 직접 제품을 사용하면서 미리 작성된 시나리오에 맞추어 과제를 수행한 후, 질문에 답하도록 하는 테스트 프로토타입 컴퓨터 시스템이나 소프트웨어의 설계 또..

    정보처리기사 실기 정리(7) - 1단원 종합②

    시스템의 기능적인 요구사항이 어떻게 제공되는지 설명해주는 뷰 설계자, 개발자 관점 : 논리 뷰 소프트웨어 아키텍처 패턴 소프트웨어를 설계할 때 참조할 수 있는 전형적인 해결 방식 데이터 스트림을 생성하고 처리하는 시스템에서 사용 가능한 패턴 : 파이프-필터 패턴 변경 용이성과 기능성에 집중, 평가가 용이하여 경험이 없는 조직에서도 활용 가능한 비용 평가 모델 : SAAM 복잡한 인스턴스를 조립하여 만드는 구조로, 복합 객체를 생성할 때 객체를 생성하는 방법과 객체를 구현하는 방법을 분리함으로써 동일한 생성 절차에서 서로 다른 표현 결과를 만들 수 있는 디자인 패턴 : Builder 전문가의 경험적 지식을 통한 문제 해결 및 미래예측을 위한 방법 : 델파이 기법 요구사항 명세 단계에서 사용자의 요구를 표현..