목록전체 글 (174)
The Debugging Chronicles : "코드의 미학"
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..
1. 학생 클래스class Student { private int num; private String name; private int score; Student(int num, String name, int score){ this.num=num; this.name=name; this.score=score; } public int getNum() { return num; } public void setNum(int num) { this.num = num; } public String getName() { return name; } public void setName(String name) { this..
캐릭터 클래스가 있습니다.캐릭터는 이름,레벨,무기를 가집니다.캐릭터는 attack() 공격을 할수있습니다.캐릭터가 무기를 가졌다면, 무기로 공격합니다.캐릭터는 이름을 반드시 가져야합니다.캐릭터는 레벨 10으로 시작합니다.캐릭터에게 무기가 없다면 맨손으로 공격합니다...무기를 이용한 공격이 성공한다면, 레벨이 +1 증가합니다.캐릭터가 attack()을 성공했는지 실패했는지에 대한 결과를 main()에서 알수있습니다.무기 클래스가 있습니다.캐릭터가 무기를 활용해서 attack() 공격을 하기 때문에,무기 클래스도 attack() 메서드를 구현해야합니다.>>> 전체 코드package class07;import java.util.Random;interface CharacAction { boolean atta..