목록전체 글 (176)
The Debugging Chronicles : "코드의 미학"

1. 에러가 발생한 라인 체크!!43번째 줄!! 43번째줄 뜻: line을 int타입으로 바꿔줘오류 이유 : line이 null이라서 못 바꿔줘 while 문이 종료 되려면 line 값이 null이여야한다. 그래서 line 문은 무조건 null 이 된다.따라서 int ansNum = Integer.parseInt(null);이 되는 것과 다름 없다. while 문을 한번만 돌리는 것으로 변경! 한번만 읽어 드리는 것으로 변경 문제해결!!!문제는 43번째줄에서 발생했지만, 해결은 26번째 줄해서 해결 이야기 할때는 항상 어디서 문제가 발생했고 그래서 어디를 바꿨다라고 이야기 해야함
에러시스템에 비정상적인 상황이 생겼을 때 발생 에러의 종류상황outOfMemoryError프로그램 싱행 중 메모리 부족IoError입출력 에러StackOverFlowError가용 메모리 부족 현상, 재귀 호출 문제 시 발생 예외대체로 프로그램 구동 중에 나타나는 오류들문법적으로는 문제없어 보이지만 실제 운영 중에 생기는 문제들구분체크 예외비체크 예외처리 여부문법적으로 예외 처리를 강제함반드시 처리 해야함문법적으로 강제하지 않음개발자의 판단에 의해 처리확인 시점컴파일 단계실행 단계예외 클래스Runtime Exception 을 제외한 모든 예외IoExceptionSQLExceptionRuntime Exception의 자식 클래스 모두 포함NullPointerExceptionIndexOutOfBoundExce..

오늘 발표를 했다.발표 주제는 쇼핑몰 프로그램을 MVC패턴으로 구현하기! 일단 우리조는 젓가락으로 물을 떠먹는 그런 조였다....하지만 나름의 의미가 있었다고 생각한다... 내가 생각하지 못한 부분 내가 약한 부분에 강점을 가진 사람들이 있었고 그분에서 많은 피드백을 얻었다.또한 실제로 코딩하면서 협업하니 엄청난 압박감도 느꼈었다. 요구사항을 좀 더 면밀히 분석하고 인지하고 있어야 했다. 발표 피드백추상화 클래스에 대해 정확하게 대답하지 못했다.이렇게 저렇게 라는 말로 발표 하면 안됨말끝을 흐리면 안됨발표 순서 맞추기 134/ 25이렇게가 아니라 123 / 456 이렇게실제 경험에 대한 설명시현 -> 시연주석을 꼼꼼히 달면 달수록 좋다발표한 소감은 대본을 숙지해서 전달력 있는 발표가 되도록 해야겠다고 ..
내부 클래스 - 클래스 안에 만들어진 또 다른 클래스를 말하며, 다른 말로 중첩 클래스라고도 말한다. - 바깥쪽의 클래스를 '외부 클래스', 안쪽의 클래스를 '내부 클래스'라고 하며, 두 개의 클래스는 서로 긴밀한 관계를 가지고 있다. - 내부 클래스는 외부 클래스 안에 선언된다는 점만 제외하면 일반 클래스와 같은 성격과 모습을 지니고 있다. public class 외부클래스명 { ... class 내부클래스명 { ... } } - 장점 · 두 클래스 멤버들 간에 손쉽게 접근할 수 있다. · 불필요한 클래스를 감춰서 코드의 복잡성을 줄일 수 있다.내부 클래스의 종류 ▶ 선언된 위치에 따라 구분된다. - 인스턴스 클래스(instance class) · 외부 클래스 내부에서 생성하고, 선언되어 사용하는..
추상 클래스와 추상 메서드 - 추상 메서드(abstract method) · 자식 클래스에게 해당 메서드 오버라이딩을 강제하기 위해 사용하는 메서드를 말한다. · abstract 키워드와 함께 표기하여 선언하고, 메서드 구현부인 중괄호{ } 대신 선언부에 세미콜론(;)을 사용한다. · 추상 메서드를 선언하는 부모 클래스에서는 구현부는 비워두고 선언부만 작성하고, 자식 클래스에서 오버라이딩으로 구현한다. · 추상 메서드는 반드시 추상 클래스 안에서 정의되어야 한다.[접근 제한자] abstract 반환타입 메서드명(매개변수1, 매개변수2, ...); - 추상 클래스(abstract class) · 하나 이상의 추상 메서드를 포함하는 클래스를 말한다. (단, 추상 클래스는 추상 메서드를 생성하지 않아도 생..
01. 클래스의 타입 변환타입 변화은 타입을 다른 타입으로 변환하는 것으로 자바에서는 다음과 같이 두가지 대표적인 타입 변환이 있다- 자료형 (타입) 변환- 클래스의 객체 타입 변환 클래스 타입 변환은 서로 상속 관계에 있는 클래스 사이에서만 변환할 수 있습니다. 1. 클래스의 자동 타입 변환 개발자가 직접 명시하지 않아도 자동으로 타입 변환이 일어나는 것 '클래스 자동 타입 변환'자식 객체를 만들면서 바로 부모 타입으로 변환할 때는 다음 과 같이 구현 부모 클래스 (타입) 객체 변수 = new 자식 클래스(); 만들어진 자식 객체를 부모 타입으로 변환할 때는 부모클래스(타입) 객체변수 = 자식 객체; package section11;class parent{}class Child extends pare..
상속 - 상속이란? · 부모 역할을 하는 클래스가 자식 역할을 하는 클래스에게 클래스 멤버와 메서드를 물려주는 것을 말한다. · 재사용을 하기 때문에 중복을 줄여주고 수정을 최소화하는 특징을 가지고 있다. (유지보수 용이성) · extends라는 키워드를 사용해 상속받을 클래스를 지명한다. · 자식 클래스는 부모 클래스의 모든 멤버를 그대로 가져다 쓸 수 있다.class 부모클래스명 { - } class 자식클래스명 extends 부모클래스명 { - }상속에서의 생성자 - super() · 부모 클래스의 생성자를 호출할 때 사용된다. · 자식 클래스의 객체를 생성하기 위해 기본 생성자가 호출되면, super()라는 메서드를 통해 부모 클래스의 기본 생성자가 호출 된다. 그러므로, 개발자가 직접 생성..
생성자의 특징 - 생성자란? · 클래스를 구성하는 구성요소 중 하나로, 객체를 생성할 때 호추로디어 객체의 초기화를 담당하는 특별한 메서드이다. · 객체를 생성하고 초기화를 하기 위해서는 반드시 생성자를 호출해야하기 때문에 객체를 생성해야하는 모든 라이브러용 클래스는 모두 생성자를 가지고 있다. · 반환 타입이 없으며, 클래스 이름과 동이하다는 특징이 있다.클래스명(매개변수1, 매개변수2, ...){ 초기화 코드; } · 생성자의 호출 위치는 정해져 있으며, 클래스를 기반으로 객체를 생성할 때 new와 함게 사용하여 호출된다. 클래스명 객체명 = new 클래스명(); ---------이 부분이 생성자이다. - 기본 생성자 · java의 모든 클래스에는 하나 이상의 생성자가 정의되어 있어야 하기 때문에 ..