일 썸네일형 리스트형 java06.inheritance /* 부모생성자호출(super call) 모든 객체는 클래스의 생성자를 호출해야만 생성이 된다. 부모 객체도 예외는 아니다. 그렇다면 부모객체를 생성하기 위해서는 자식 생성자에서 부모 생성자가 호출되어야 한다. 자식생성자에서 부모생성자를 호출할 경우에는 자식생성자의 ㅂ맨처음(첫줄)에 선언되고 호출되어야 한다. 부모생성자가 명시적으로 선언되지 않앗다면 컴파일에러가 발생된다. 자식객체는 부모클래스의 생성자와 동일한 시그니처를 갖는 부모생성자를 호출한다. 만약 매개값의 시그니처와 일치하는 부모생성자가 없을 경우에도 컴파일에러가 발생한다. super(매개값...)가 생략되면 컴파일러는 부모의기본 생성자 super()가 자동으로 추가되기 때문에 부모클래스에 기본생성자가 반드시 존재해야 한다. 부모클래스에 기본생성.. 더보기 java05.class.package /* 패키지(package) 프로그램을 개발하다 보면 객체는 수십개, 많게는 수백개으 ㅣ클래스를 작성해야 한다. 클래스를 체계적으로 관리핮 ㅣ않으면 클래스간ㄴ의 관계가 뒤엉켜서 복잡하고 난해한 프로그램이 되어버려 결국에는 유지보수가 어렵게 된다. 자바에서는 클래스를 체계적으로 관리하기 위해서 패키지를 사용한다. PC에서 파일을 분류, 저장해서 파일을 그룹화해서 관리하는 것처럼 Java에서는 패키지를 만들어서 유사한 기능을 하는 클래스들 끼리 그룹화해서 저장, 관리하도록 한다. 패키지의 물리적인 형태는 파일시스템의 폴더이다. 패키지는 단순히 파일시스템의 폴더 기능만 하는 것이 아니라 "클래스의 이름의 일부분"이다. 즉, 클래스이름은 패키지명을 포함한 클래스파일명 전체가 클래스 이름이다. 패키지는 클래스를 .. 더보기 java05.class.method /* 메서드(method) 메서드는 객체의 동작에 해당하는 중괄호{}블럭을 갖는다. 중괄호 블럭은 이름ㄷ을 가지고 있는데 이것이 메서이름이다. 메서드를 호출하게 되면 이 중괄호 블럭에 있는 실행문들이 일괄적으로 실행된다. 메서드는 1) 필드를 읽거나 수정 2) 다른객첼글 생성해서 다양한 기능을 수행한다. 멧허든느 객 체간에 데이터 전닰수단으로 사용된다. 메서드는 외부로부터 매개값을 받을 수 있고 실행한 후 그 결과를 리턴할 수 있다. 1. 메서드 선언 메서드의 선언은 선언부와 실행부로 구성된다. 선언부에는 접근제한자, 리턴타입, 메서드이름과 매개변수 등을 선언하고 이 선언부를 매서드 시그니처(method signature)라고도 한다. 메서드의 실행부는 중괄호{}블럭을 말한다. 2. 리턴타입 리턴타입은 .. 더보기 java05.class.member /* 클래스의 멤버 1. 필드(field, 속성, 클래스변수) 객체의 고유 속성을 저장하는 곳이다. 선언방법은 변수와 유사하지만 필드를 변수라고 하지 않는다 변수는 생성자와 메서드내에서만 사용되고 생성자와 메서드의 실행이 종료되면 자동으로 메모리에서 소멸 되지만 필드는 생성자와 메서드뿐만 아니라 전역적으로 사용(전역변수개념)되고 객체가 소멸되지 않는 이상 객체와 함께 메모리에 존재한다. 즉, 객체가 소멸되기 전까지 메모리에 존재하고 객체가 소멸될 때 같이 소멸된다. 2. 메서드(method, 기능, 동작의역할) 메서드는 객체의 동작(기능, 행위)에 해당하는 실행 블럭이다. 이 블럭은 이름을 부여하고 이 이름 으로 메서드를 호출하게 되면 블럭안에 정의된 실행문들이 일괄적으로 실행되고 그 결과를 호출한 곳으.. 더보기 java05.class.class /* 클래스 1. 클래스의 명명규칙 1) 하나 이상의 문자로 이루어져야 한다. 단, 첫글자는 대문자로 시작해야 하고 한글이름도 가능하지만 관례적으로 영문이름으로 정의한다. 2) 첫 번째는 숫자가 올 수 없다. 3) $, _ 이외의 특수문자는 사용할 수 없다. 4) Java예약어(for, if...)는 사용할 수 없다. 2. 클래스를 선언하는 키워드 class는 반드시 소문자로 작성해야 한다. 3. 일반적으로 소스파일 하나당 한개의 클래스를 정의한다. 하지만 여러개의 클래스도 선언이 가능하다. 다만 클래스당 한 개의 ~.class파일 각각 생성된다. 다만, public(접근제한자)은 소스파일명과 동일한 클래스에만 선언할 수 있다. 4. 소스파일명과 class명은 동일해야 한다. */ public class.. 더보기 java04. ref_type ex01_string /* 1. 데이터타입분류 1) 기본타입(premitive type) 정수(byte, char ... int, long), 실수(float, double), 논리(boolean)로 실제 값을 가지고 있는 데이터 타입 2) 참조타입 객체가 저장되어 있는 주소를 참조하고 있는 데이터타입으로 Array(배열), Enum(열거), Class(클래스, 대표적 String), Interface(인터페이스)가 있다. 3) 기본 vs 참조 기본타입은 실제값을 변수에 저장하는 반면에 참조타입은 객체가 저장되어 있는 메모리(힙영역)의 주소를 저장하고 있는 데이터타입이다. 주소를 통해 객체를 참조한다는 의미에서 참조타입이라고 한다. 자바는 문자열을 String이라는 참조타입(class)변수에 저장하기 때.. 더보기 java03. if_for ex01_if // 실습. 주사위던지기 Math.random() //"?번이 나왔습니다"로 출력하는 if문 // if else if else // double num = Math.random(); // System.out.println(); // System.out.println((int)(num*6)); //0.0=80){ System.out.println("점수가 80보다 크거나 같다"); System.out.println("B학점"); }else if(score>=70){ System.out.println("점수가 70보다 크거나 같다"); System.out.println("C학점"); } else if(score>=60){ System.out.println("점수가 60보다 크거나 같다"); S.. 더보기 java02. operators ex01_op // 논리부정연산자(!)는 true 또는 false를 부정하는 연산자로서 boolean타입에만 // 사용할 수 있다. 피연산자가 true이면 false, false이면 true를 리턴한다. // 논리부정연산자는 조건문과 제어문에서 사용되어 조건식의 값을 부정하도록 하여 // 실행흐름을 제어할 때 주로 사용한다. boolean isPlay = true; System.out.println("isPlay = " +isPlay); isPlay = !isPlay; System.out.println("isPlay = " +isPlay); isPlay = !isPlay; System.out.println("isPlay = " +isPlay); /* 증감연산자(++, --) 증감연산자는 변수의 값을 1씩.. 더보기 이전 1 ··· 3 4 5 6 7 다음