목록분류 전체보기 (174)
The Debugging Chronicles : "코드의 미학"
상속 - 상속이란? · 부모 역할을 하는 클래스가 자식 역할을 하는 클래스에게 클래스 멤버와 메서드를 물려주는 것을 말한다. · 재사용을 하기 때문에 중복을 줄여주고 수정을 최소화하는 특징을 가지고 있다. (유지보수 용이성) · extends라는 키워드를 사용해 상속받을 클래스를 지명한다. · 자식 클래스는 부모 클래스의 모든 멤버를 그대로 가져다 쓸 수 있다.class 부모클래스명 { - } class 자식클래스명 extends 부모클래스명 { - }상속에서의 생성자 - super() · 부모 클래스의 생성자를 호출할 때 사용된다. · 자식 클래스의 객체를 생성하기 위해 기본 생성자가 호출되면, super()라는 메서드를 통해 부모 클래스의 기본 생성자가 호출 된다. 그러므로, 개발자가 직접 생성..
생성자의 특징 - 생성자란? · 클래스를 구성하는 구성요소 중 하나로, 객체를 생성할 때 호추로디어 객체의 초기화를 담당하는 특별한 메서드이다. · 객체를 생성하고 초기화를 하기 위해서는 반드시 생성자를 호출해야하기 때문에 객체를 생성해야하는 모든 라이브러용 클래스는 모두 생성자를 가지고 있다. · 반환 타입이 없으며, 클래스 이름과 동이하다는 특징이 있다.클래스명(매개변수1, 매개변수2, ...){ 초기화 코드; } · 생성자의 호출 위치는 정해져 있으며, 클래스를 기반으로 객체를 생성할 때 new와 함게 사용하여 호출된다. 클래스명 객체명 = new 클래스명(); ---------이 부분이 생성자이다. - 기본 생성자 · java의 모든 클래스에는 하나 이상의 생성자가 정의되어 있어야 하기 때문에 ..
메서드 - 클래스 안에서 특정 기능을 수행하기 위해 코드들을 따로 하나의 블록으로 묶어놓은 집합을 말하며, 필요에 따라 이 집합을 호출해 사용한다. - 메소드를 사용하여 같은 내용의 코드를 반복적으로 사용하는 것을 피할 수 있다. (재사용 가능) - 코드들의 집합을 따로 분리하는 '모듈화'가 가능하여, 가독성이 좋아지고, 유지 보수가 용이해진다. 선언접근제한자 반환타입 메서드명 (매개 변수){ 기능을 위한 코드; } - 접근 제한자(제어자, access modifier) : 해당 메서드에 접근할 수 있는 범위를 결정한다. - 반환 타입(return type) : 메서드의 코드를 실행한 후 결과값을 반환할 때 어떤 타입으로 반환할 것인지 정한다. 반환값이 없는 경우에는 'void'를 사용한다. - 메서드..
객체 지향 프로그래밍 - 객체를 중심으로 프로그램 구조를 설계하고 프로그래밍 하는 것을 객체 지향 프로그래밍이라고 한다. - 객체는 일반적으로 상태를 표현할 수 있고 우리가 행동으로 실행할 수 있는 모든 것을 말한다.객체와 클래스 - 클래스 · java 프로그램의 기본단위로, 이 클래스를 기반으로 객체를 생성한다. · 하나의 클래스로 여러 개의 객체를 생헝할 수 있다. (1:n) · 클래스명은 기본적으로 대문자로 작성하며, 변수명 규칙과 동일한 규칙이 적용된다. 클래스 선언 접근 제한자 class 클래스명 { 코드 } 클래스 용도 1. 실행용 : 프로그램 전체에서 단 하나의 클래스로, main() 메소드를 가지고 있어 프로그램의 실행을 전적으로 맡고 있다. (1개) 다른 클래스에서는 main을 사..
NPE = 주어가 없어서 발생하는 에러 객체지향언어는 메서드를 객체가 실행한다.여기서 말하는 주어는 메서드를 실행시키는 주체를 말한다. 세상 모든 메서드는 객체명.xxxx()으로 실행 된다.객체가 실행시키는 것이다. sc.nextInt();rand.nextInt(10); sc, rand 가 주어이다 NPE = 주어가 없어서 발생하는 에러 즉 객체가 없어서 발생하는 에러 이다 if(StudentDTO.getCondition().equals("ALL")){StudentDTO.getCondition().equals("ALL") 여기서 주어가 2개인데StudentDTO와StudentDTO.getCondition()이다후자가 바로 문제!!!
프로그래머의 최고의 목표유지보수 용이한 코드를 작성하는 것이를 가능하게 하는 두가지 코딩 방법이 있으니... 바로... 1)결합도가 낮은 코드 결합도가 낮은 코드는 조각 조각 분리가 잘되어 있는 코드이다.즉 모듈화(컴포넌트화, 함수화)가 잘되어있다는 뜻이다.이는 겹치는 부분이 적고1개의 변경사항이 발생했을 때, 코드 1곳만 변경가능하게 한다. ex) 하드코딩 제거하기, 변수화(상수화),... 2)응집도가 높은 코드하나의 코드 영역(파일,블록)에 하나의 로직만 담겨있다.update->update / create -> insert 하나의 로직이 여기저기에 퍼져있으면 안된다.조회수 증가, 내용변경, 제목변경 - > update() 한곳 한자리! >>결합도,응집도가 낮은 코드package model;impo..
배열 - 같은 자료형의 데이터를 하나의 변수에 저장해 처리하기 위해 사용하는 저장 공간을 말한다. (자료구조) - 하나의 변수에 많은 데이터를 담을 수 있기 때문에 많은 변수를 사용해야될 때 효율적으로 다룰 수 있다. 선언(1) 자료형[] 변수이름; ex) int[] num; (2) 자료형 변수이름[]; ex) int num[]; 생성과 사용 - 배열을 사용하기 위해서는 메모리에 필요한 만큼의 공간을 만들도록 선언해야 된다. - 배열은 개발자(heap) 메모리에 공간이 생성되기 때문에 'new'와 함께 자료형과 길이를 지정한다. - 배열을 생성할 시 실제 시스템의 메모리에는 선언된 크기와 값 만큼 각각의 독립적인 저장공간이 연속적으로 배치되어 생성된다. - 배열을 생성하는 방법은 2가지가 있다. (..
MVC(model view controller)는사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 널리 사용되는소프트웨어 디자인 패턴입니다. 소프트웨어의 비즈니스 로직과 화면을 구분하는데 중점을 두고 있다. 이러한 "관심사 분리"는 더 나은 업무의 분리와 향상된 관리를 제공합니다. Model : 데이터와 비즈니스 로직을 관리모델은 앱이 포함해할 데이터가 무엇인지를 정의데이터의 상태가 변경되면, 모델을 일반적으로 뷰에게 알리며 가끔 컨트롤러에게 알리기도 한다. View : 레이아웃과 화면을 처리앱의 데이터를 보여주는 방식을 정의 Controller : 모델과 뷰로 명령을 전달앱의 사용자로부터의 입력에 대한 응답으로 모델 및 뷰를 업데이트하는 로직을 포함 >>>viewpackage view;imp..
반복문 - 프로그램 코드 내에서 똑같은 명령을 반복하여 수행하도록 제어하는 명령문 - 완전히 똑같거나, 인자 등이 약간 다른 등의 프로그램을 작동시킬 때 효율적이다. - for문, while문, do-while문이 있다.for문for(초기식; 조건식; 증감식) { 실행문;} - 주로 반복 횟수가 정해져 있을 때 사용하는 반복문이다. - 초기식, 조건식, 증감식, 실행문으로 이루어져 있으며, '초기식 > [조건식 > 실행문 > 증감식](반복)' 순으로 진행된다. 초기식 : 반복문에 사용할 변수를 초기화한다. 조건식 : 반복 수행할 범위를 구현하며, 조건식이 true일 때 동안 반복한다. 증감식 : 초기값을 증가시키거나, 감소시킨다. 실행식 : 조건식이 true이면 false가 나올 때까지 ..
01. 제어문프로그래밍 언어는 제어문을 사용해 실행문을 비 순차적으로 수행 제어문은 실행문의 수행 순서를 변경하는 것으로 조건문, 반복문, 분기문이 있다.조건문과 반복문은 실행 흐름을 제어하는 제어식과 수행할 실행문으로 구성되는데ㅑㄹ,수행할 수행 문이 여러 개 있으면 중괄호{}로 묶어야 한다.이렇게 중괄호로 묶인 실행문의 조합을 복합문 또는 블록문이라고 한다. 02. 조건문조건식에 따라서 프로그램의 흐름을 제어할 수 있는 문법 조건문은 크게 if 문과 switch문이 있다.일반적으로 고려해야할 조건이 적으면 if문,조건이 많으면 switch문을 사용하는 것이 효율적이다. 03. if 문if(조건식){ 코드; ...}boolen으로 결과 를 확인할 수 있는 모든 식을 조건식에 넣을 수 있다. 0..