전체 글 107

[도서/자바의 신] #13 인터페이스와 추상클래스, enum

✔️이 글은 [자바의 신 - 이상민 지음] 도서를 바탕으로 정리한 글입니다. 메소드 내용이 없는 interface 시스템 "방법론" 순서 분석 : 시스템 제작을 요청한 사람들(SI에서는 고객, SM에서는 현업, 별도의 고객이 없는 회사는 기획이 업무를 수행)의 요구사항을 분석 설계 : 분석 단계에서 만든 대략적인 기획을 프로그램으로 만들 수 있도록 설계 개발 및 테스트 : 설계에서 만든 것을 개발하는 단계, 기능들이 제대로 동작하는지 테스트하는 작업도 수행 시스템 릴리즈 : 시스템을 사용자에게 제공, 오픈 이후에는 운영/유지보수 단계를 거치면서 문제있는 부분을 수정해 나감 이 절차는 아주 일반적인 절차로 모든 개발 절차가 이렇진 않다. 인터페이스와 abstract가 필요한 이유? 설계 시 선언해 두면 개..

[도서/자바의 신] #12 모든 클래스의 부모 클래스는 Object에요

✔️이 글은 [자바의 신 - 이상민 지음] 도서를 바탕으로 정리한 글입니다. 모든 자바 클래스의 부모인 java.lang.Object 클래스 자바에서 아무런 상속을 받지 않으면 java.lang.Object 클래스(이하 Object 클래스)를 확장한다. 상속을 받아도 부모 클래스로 계속 올라가보면 결국엔 Object 클래스가 최상위 부모 클래스임을 알 수 있다. 그렇기 때문에 모든 클래스에서 Object 클래스에 정의된 기본적인 메소드들을 사용할 수 있다. 터미널에서 javap라는 명령어를 통해 하나 이상의 class의 package, protected, public 변수와 메소드에 대한 정보를 출력해준다. 명령어 뒤에는 여러 옵션들이 올 수 있고 출력할 정보를 바꿔준다. Object 클래스에서 제공하는..

[도서/자바의 신] #11 매번 만들기 귀찮은데 누가 만들어 놓은 거 쓸 수 없나요?

✔️이 글은 [자바의 신 - 이상민 지음] 도서를 바탕으로 정리한 글입니다. 미리 만들어 놓은 클래스들은 아주 많아요 JDK에 포함된 이미 만들어 놓은 여러 클래스들을 사용할 때 참조하는 문서를 API(Application Programming Interface)라고 한다. 자바의 API는 HTML로 구성되어 있어 인터넷 브라우저에서 문서를 읽어 볼 수 있다. JDK에 포함되어 있는 문서와 다른 여러 자바 관련 프레임웍에서 제공하는 문서도 API라고 부른다. 개발시에 소스 내에 클래스 및 메소드를 선언하기 전이나 후에 API에 명시되도록 하기 위한 주석을 상세히 달아주고 java/bin디렉터리에 있는 javadoc이라는 명령어를 통해 API 문서를 생성할 수 있다. API를 열어보자 docs에 API들이..

[도서/자바의 신] #10 자바는 상속이라는 것이 있어요

✔️이 글은 [자바의 신 - 이상민 지음] 도서를 바탕으로 정리한 글입니다. 자바에서 상속(inheritance)이란? 클래스를 선언할 때 클래스 이름 뒤에 extends라는 예약어를 쓰고 그 다음에 상속받을 클래스를 써주면 해당 클래스가 상속된다. 상속이라는 건 부모와 자식 관계로 나타낼 수 있는데, 자식이 부모에 public과 proctected로 선언된 변수와 메소드를 본인이 가지고 있는 것처럼 사용할 수 있다. 자식 클래스 객체를 생성하면 자동으로 부모의 기본 생성자(매개변수가 없는 생성자)가 호출된다. 확장한 클래스(자식 클래스)에는 추가적인 메소드를 만들어도 문제가 없다. 상속은 코드의 간결화와 재사용성을 좋게 해주는 장점이 있다. 자바는 extends 뒤에 하나의 클래스만 올 수 있다. 즉,..

[도서/자바의 신] #9 자바를 배우려면 패키지와 접근 제어자는 꼭 알아야 해요

✔️이 글은 [자바의 신 - 이상민 지음] 도서를 바탕으로 정리한 글입니다. 패캐지는 그냥 폴더의 개념이 아니에요 패키지(package)는 클래스들을 구분짓는 폴더와 비슷한 개념이다. 자바 파일을 컴파일 할 때 슬래스로 각 패키지를 구분한 후 자바 소스 이름을 지정하여 컴파일이 가능하다. 그리고 항상 컴파일할 때는 가장 상위 디렉터리, 즉 root 디렉터리에서 실행을 해야만 한다. 패키지 선언문 package 상위 패키지.하위 패키지; 소스의 가장 첫 줄에 위치해야 한다. 패키지 선언은 소스 하나에는 하나만 있어야 한다. 패키지 이름과 위치한 폴더 이름이 같아야 한다. 패키지 이름을 java로 시작해서는 안된다. 패키지 이름은 이렇게 지어요 기본 규칙 패키지 시작 이름 내용 java 자바 기본 패키지(J..

[도서/자바의 신] #8 참조 자료형에 대해서 더 자세히 알아봅시다

✔️이 글은 [자바의 신 - 이상민 지음] 도서를 바탕으로 정리한 글입니다. 참조 자료형은 나머지 다에요 기본 자료형 8개를 제외한 나머지 타입을 모두 참조 자료형(Reference type)이다. String을 제외한 나머지 참조 자료형은 사용할 수 있는 연산자가 등호(=) 뿐이다. 기본 생성자 자바는 생성자를 따로 정의해주지 않으면 기본 생성자가 만들어진다. 생성자는 public 키워드 뒤에 클래스 이름과 같은 이름을 갖는 메소드 이름을 지정해주고 매개변수를 넣어주면 된다. 따로 타입은 지정하지 않는다. 매개변수의 개수나 타입에 따라 생성자를 여러개 만들어줘도 된다. 그러면 new를 통해 객체를 생성할 때 생성자에 넘겨주는 인자에 따라 맞는 생성자 메소드가 사용된다. 생성자는 몇 개까지 만들 수 있을..

[도서/자바의 신] #7 여러 데이터를 하나에 넣을 수는 없을까요?

✔️이 글은 [자바의 신 - 이상민 지음] 도서를 바탕으로 정리한 글입니다. 하나에 많은 것을 담을 수 있는 배열이라는 게 있다는데... 배열 : 한 가지 타입에 대해서, 하나의 변수에 여러 개의 데이터를 넣을 수 있는 자료구조 자료형 [] 배열이름; []를 이용해 배열임을 정의하는데, 대괄호의 위치는 배열 이름 앞이든 뒤든 상관없다. 배열의 선언 = new 자료형[크기]; = { 값1, 값2, ... }; // 값과 값 사이에는 줄바꿈이 있어도 됨 배열이름[인덱스]를 사용하면 배열의 해당 인덱스에 위치한 값을 참조할 수 있는데 이 인덱스는 0~(배열의 크기 -1)까지 있다. 할당한 배열의 인덱스를 넘어가는 곳에 값을 할당하거나, 참조하게 되면 ArrayIndexOutOfBoundsException이라는..

[도서/자바의 신] #6 제가 조건을 좀 따져요

✔️이 글은 [자바의 신 - 이상민 지음] 도서를 바탕으로 정리한 글입니다. 도대체 얼마나 조건을 따지길래... if문 if( boolean 값) 처리문장; if 다음엔 반드시 소괄호를 열고 닫아야 하며, 소괄호 안에는 boolean 형태의 결과가 있어야 한다. 소괄호 안의 값이 true일 때 처리문장을 수행한다. 처리문장은 없어도 세미콜론만 찍어주면 컴파일하는데 문제는 없으며, 처리 문장을 다음 줄에다 써주고 세미콜론을 찍어줘도 된다. if else 문 if(boolean 값) 처리문장1; else 처리문장2; if의 소괄호 안의 값이 false이면 else에 해당하는 처리문장2를 수행한다. if를 조금 더 다양하게 사용해보자 if 다음에 오는 처리문장은 중괄호로 묶으면 여러줄이 올 수 있다. if의 ..

[도서/자바의 신] #5 계산을 하고 싶어요

✔️이 글은 [자바의 신 - 이상민 지음] 도서를 바탕으로 정리한 글입니다. 연산자라는 게 뭐지? 벌써 조금 배웠다고? 기본 자료형에서 boolean을 제외한 자료형들만 다음 연산자들을 사용할 수 있고, 예외로 참조 자료형인 String만 + 연산이 가능하다. 연산자 종류 = : 대입 연산자(assignment operator) + : 더하기 연산자 (additive operator) - : 빼기 연산자 (subtraction operator) * : 곱하기 연산자 (multiplication operator) / : 나누기 연산자 (division operator) % : 나머지 연산자 (remainder operator) 간단하게 계산하는 복합 대입 연산자들 복합 대입 연산자 (Compound Ass..

[도서/자바의 신] #4 정보를 어디에 넣고 싶은데

✔️이 글은 [자바의 신 - 이상민 지음] 도서를 바탕으로 정리한 글입니다. 자바에서는 네 가지의 변수가 존재해요 모든 프로그래밍 언어에서는 내용을 담아두기 위해 "변수"를 사용한다. 변수의 4가지 종류 지역 변수 (local variables) 중괄호 내에 선언된 변수 지역 변수를 선언한 중괄호 내에서만 유효 매개 변수 (parameters) 메소드에 넘겨주는 변수 메소드가 호출될 때 생명이 시작되고, 메소드가 끝나면 소멸 인스턴스 변수 (instance variables) 메소드 밖에, 클래스 안에 선언된 변수 객체가 생성될 때 생명이 시작되고, 그 객체를 참조하고 있는 다른 객체가 없으면 소멸 클래스 변수 (class variables) 인스턴스 변수처럼 메소드 밖에, 클래스 안에 선언된 변수 중에..

728x90