Java_115 Java_1_14 ( 어노테이션 ) Java_1_13에서는 클래스 안의 클래스 에 대해서 알아봤다 오늘은 Java_1의 마지막 장 Annotation(어노테이션) 에 대해서 정리해 본다 어노테이션은 클래스나 메소드 등의 선언시에 @ 를 사용하는 것을 말한다 어노테이션은 Metadata(메타데이터)라고도 불리기도 한다 JDK 5부터 등장했기 때문에, 그 이전 버전에서 자바를 배운 선배/팀장/본부장들은 이 어노테이션이라는 것을 잘 모를 수도 있다 어노테이션은 컴파일러에게 정보를 알려주거나 컴파일할 때와 설치시의 작업을 지정하거나 실행할 때 별도의 처리가 필요할 때 사용한다 그런데, 이러한 어노테이션이 프로그램에 어떠한 영향을 미칠까? 영향이 있는 어노테이션도 있고, 그렇지 않은 것도 있다 미리 정해져 있는 어노 테이션들 자바 언어에는 사용하기.. 2020. 1. 21. Java_1_13 ( Nested 클래스 ) Java_1_12에서는 예외 에 대해서 알아봤다 오늘은 클래스 안의 클래스에 대해서 정리해 본다 자바에서는 클래스 안에 클래스가 들어갈 수 있다 이러한 클래스를 "Nested 클래스"라고 부른다 Nested 클래스가 존재하는 이유는 여러 가지가 있겠지만 가장 큰 이유는 코드를 간단하게 표현하기 위함이다 Nested 클래스는 선언한 방법에 따라 "Static Nested클래스" 와 "내부(inner) 클래스"로 구분된다 Static nested 클래스와 내부 클래스의 차이는 static으로 선언되었는지 여부다 만약 클래스를 선언할 때 static으로 선언이 되었다면, 그 클래스는 Static nested클래스가 되고, static이 없으면 그냥 내부 클래스라고 한다 내부 클래스는 다시 두 가지로 나뉘는데 .. 2020. 1. 18. Java_1_12 ( 예외 ) Java_1_11에서는인터페이스와 abstract(추상)클래스, final, enum에 대해서 알아봤다 오늘은 예외에 대해서 정리해 본다 자바에는 예외 라는 것이 있다 예외를 모르면 자바를 모르는 것과 같다고 생각해도 된다 Java_1_12를 읽고 나면 여러분들은 저버 개발을 위해서 없으면 언 되는 예외를 생각하지 않고는 안전한 프로그램 개발이 쉽지 않다는 것을 알게 될 것이다 자바에서 예외는 "우리가 예상한, 혹은 예상치도 못한 일이 발생하는 것을 미리 예견하고 안정장치를 하는 것"을 말한다 자바에선, 예상을 했든, 예상을 하지 않았건, 예외적인 일이 발생하게 되면 "예외" 라는 것을 던져버린다 가장 일반적인 예가 null인 객체에 메소드를 호출한다든지 5개의 공간을 가지는 배열을 만들었는데 6번째 값.. 2020. 1. 16. Java_1_11 ( 인터페이스와 추상클래스, final, enum ) Java_1_10에서는 Object클래스에 대해서 알아봤다 오늘은 인터페이스와 abstract(추상)클래스, final, enum에 대해서 정리해 본다 Interface 자바에서 .class 파일을 만들 수 있는 것에는 클래스만 있는 것이 아니다 interface(인터페이스) 와 abstract 클래스 라는 것이 있다 먼저 interface 와 abstract 클래스 를 이해하기 위해서는 반드시 시스템을 만드는 절차가 어떻게 되는지 알아야 한다 시스템을 만드는 절차 분석 설계 개발 및 테스트 시스템 릴리즈 분석 시스템을 분석하는 단계에서는 시스템을 만들어 달라고 한 사람들(SI에서는 고객, SM에서는 현업, 고객이 별도로 없는 회사에서는 기획이 그 업무를 수행한다)에게 어떻게 개발하기를 원하는지 물어본다.. 2020. 1. 11. Java_1_10 ( Object클래스 ) Java_1_9에서는 상속에 대해서 알아봤다 오늘은 Object클래스에 대해서 정리해 본다 Java_1_9에서 상속이라는 것에 대해서 알아보았다. 그런데, 중요한 것 하나를 가르쳐 주지 않았다 바로 모든 클래스의 부모 클래스가 있다는 사실이다 //Java_1_10_src1 public class Objec{ public static void main(String[]args){ Objec object = new Objec(); System.out.println(object.toString()); } } 위 클래스를 보면 Java_1_9에서 배운 extends라는 것도 없으니 확장한 부모 클래스도 없다 하지만, 자바 에서는 기본적으로 이렇게 아무런 상속을 받지 않으면 java.lang.Object클래스를 확.. 2020. 1. 10. Java_1_9 ( 상속 ) Java_1_8에서는 패키지와 접근 제어자에 대해서 알아봤다 오늘은 상속에 대해서 정리해 본다 앞 장에서 두세 번 정도 상속이라는 말이 나왔다. 현실세계에서는 부모님으로부터 무엇인가를 받으면 상속세를 내야 하지만 자바에서는 상속을 받아도 상속세를 내지 않아도 된다 그렇다면 도대체 자바에서의 상속이라는 것은 무엇일까? 다음 클래스 선언문을 유심히 보자 public class Child extends Parent Child 뒤에 있는 것은 도대체 뭘까? extends라는 것은 자바의 예약어이며, 그 다음에 클래스 이름을 지정하면 그 클래스를 상속받는다는 말이다 그리고 상속을 해주는 클래스를 부모 클래스 상속을 받는 클래스를 자식 클래스라 부른다 보다 풀어 이야기하자면 "extend Parent"라고 하면 ".. 2020. 1. 10. Java_1_8 ( 패키지와 접근 제어자 ) Java_1_7에서는 참조 자료형의 중심을 이루는 생성자와 메소드에 대해서 알아봤다 오늘은 패키지와 접근 제어자에 대해서 정리 해본다 자바에는 Package(패키지)라는 것이 있다 패키지의 사전적 의미는 "상자, 포장물"이라는 의미이지만 자바에서는 여러분들이 작성하는 클래스들을 구분 짓는 폴더와 비슷한 개념이다 자바 어플리케이션을 개발할 때 클래스들을 분류하지 않으면 이름이 중복되거나 어떤 클래스가 어떤 일을 하는지 혼동되는 일이 발생한다 그래서 존재하는 것이 바로 "package"라는 것이다 예시 소스를 통해 패키지를 알아보자 //Java_1_8_src1 package c.javapackage; public class Package{ public static void main(String[]args){.. 2020. 1. 9. Java_1_7 ( 참조 자료형 ) Java_1_6 에서는 배열에 대해 알아 보았다 이번 시간에는 Java_1_3 에서 설명했던 자료형 중에서 참조 자료형 에 대해서 정리했다 자바의 타입은 기본 자료형과 참조 자료형이 있다고 했다 지금까지 계속 알아본 기본 자료형 8개를 제외한 나머지 타입은 모두 참조 자료형이다 쉽게 구분하려면, 기본 자료형과 참조 자료형의 가장 큰 차이는 new를 사용해서 객체를 생성하는지 여부의 차이 이다 new 없이도 객체를 생성할 수 있는 참조 자료형은 오직 String 뿐이라고 알고 있으면 된다 다시말해서 byte, short, int, long, float, double, char, boolean을 제외하고는 모두 참조 자료형이다 Java_1_4에서 배운 각종 연산자들은 대부분 기본 자료형을 위해서 존재하는 것.. 2020. 1. 8. Java_1_6 ( 배열 ) Java_1_5 에서는 조건처리문에 대해 알아 보았다 이번 시간은 하나에 많은 것을 담을 수 있는 배열에 대해 정리 해 보려한다 한 변수에 여러 개의 값을 넣을 수 있는 것이 바로 배열이다, 이 배열은 가장 일반적인 자료 구조 중 하나이다 배열은 한 가지 타입에 대해서, 하나의 변수에 여러 개의 데이터를 넣을 수 있다 자바에서 기본 자료형의 배열은 다음과 같이 선언할 수 있다 //Java_1_6_src1 int [] lottoNumbers; int lottoNumbers[]; 변수를 선언할 때 대괄호를 열고 닫음으로써, 해당 변수가 배열이라는 것을 정의할 수 있다 여기서 중요한 것은 배열 변수를 정의할 떄 대괄호 안에는 아무것도 써주면 안 된다, 그냥 대괄호를 열고 닫아야만 한다 이 대괄호는 타입과 변수.. 2019. 12. 9. Java_1_5 ( 조건처리문 ) Java_1_4 에서는 연산자와 자료형 변환에 대해 알아보았다 이번시간에는 연산의 한 종류인 조건처리문들을 정리해 놓았다 조건문 if if(boolean값){처리문장;} if - else if(boolean값){처리문장1; }else{처리문장2; } if - else if if(boolean값){ 처리문장1; }else if(boolean값){ 처리문장2; ........ }else if(boolean값){ 처리문장n; } switch - case switch(비교대상변수){ case 점검값1 : 처리문장1; ..... break; case 점검값2 : 처리문장2 : .... break; case 점검값n : 처리문장n : ....... default : 기본처리문장; .... break; } 반복문 w.. 2019. 12. 4. 이전 1 2 다음