줭 Blog 66

[Java-07] 객체지향프로그래밍Ⅱ - 다형성, 추상클래스

1. 다형성(Polymorphism) 1) 다형성이란? - 객체지향개념의 중요한 특징 중 하나 - 객체지향 개념에서의 '다형성' : 여러 가지 형태를 가질 수 있는 능력 - 자바에서의 '다형성' : 한 타입의 참조변수로 여러 타입의 객체를 참조할 수 있도록 하는 것 - 구체적으로, 조상클래스 타입의 참조변수로 자손클래스의 인스턴스를 참조할 수 있도록 하는 것 class Tv { boolean power; int channel; void power() { power = !power; } void channelUp() { ++channel; } void channelDown() {--channel; } } class CaptionTv extends Tv { String text; void caption() ..

공부/Java 2021.03.02

[Java-07] 객체지향프로그래밍Ⅱ - 패키지, import문, 제어자

1. 패키지(package) 1) 패키지(package) - 서로 관련된 클래스들끼리 그룹 단위로 묶어 놓음(패키지)으로써 클래스를 효율적으로 관리할 수 있음 - 클래스 또는 인터페이스를 포함시킬 수 있음 - 하나의 소스파일에는 첫 번째 문장으로 단 한 번의 패키지 선언만을 허용함 - 모든 클래스는 반드시 하나의 패키지에 속해야 함 - 패키지는 점(.)을 구분자로 하여 계층구조로 구성할 수 있음 - 패키지는 물리적으로 클래스 파일(.class)을 포함하는 하나의 디렉토리임 2) 패키지의 선언 package 패키지명; - 대소문자를 모두 허용하지만 클래스명과 구분하기 위해 소문자로 하는 것을 원칙으로 함 - 이름없는 패키지(unnamed package) : 소스파일에 자신이 속할 패키지를 지정하지 않은 클..

공부/Java 2021.02.24

[Java-07] 객체지향프로그래밍Ⅱ - 상속, 오버라이딩

1. 상속(Inheritance) 1) 상속의 정의와 구현 - 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것 - 적은 양의 코드로 새로운 클래스를 작성할 수 있고 코드를 공통적으로 관리할 수 있음 - 코드의 추가 및 변경이 매우 용이함 - 코드의 재사용성을 높이고 코드의 중복을 제거하여 프로그램의 생산성과 유지보수에 크게 기여함 - 상속은 키워드 'extends'를 사용하여 구현함 class Child extends Parent { ... } 조상 클래스 = 부모(parent)클래스, 상위(super)클래스, 기반(base)클래스 자손 클래스 = 자식(child)클래스, 하위(sub)클래스, 파생된(derived) 클래스 - 상속계층도(class hierarchy) : 클래스 간의 상속관계를 그..

공부/Java 2021.02.22

[Java-06] 객체지향프로그래밍 - 오버로딩, 생성자

1. 오버로딩(Overloading) 1) 오버로딩(overloading)이란? - 한 클래스 내에 같은 이름의 메서드를 여러 개 정의하는 것 - 메서드 오버로딩(method overloading)이라고도 함 2) 오버로딩의 조건 1. 메서드 이름이 같아야 함 2. 매개변수의 개수 또는 타입이 달라야 함 (반환 타입은 오버로딩을 구현하는데 아무런 영향을 주지 않음) 3) 오버로딩의 예 [ex1] PrintStream 클래스의 10개의 오버로딩된 println 메서드 void println() void println(boolean x) void println(char x) void println(char[] x) void println(double x) void println(float x) void pr..

공부/Java 2021.02.18

[Java-06] 객체지향프로그래밍 - 변수, 메서드

1. 변수(variable) - 변수의 선언된 위치에 따라 변수의 종류가 결정된다. 변수의 종류 선언위치 생성시기 인스턴스변수 (instance variable) 클래스 영역 인스턴스가 생성되었을 때 클래스변수 (class variable) 클래스가 메모리에 올라갈 때 지역변수 (local variable) 클래스 영역 이외의 영역 (메서드, 생성자, 초기화 블럭 내부) 변수 선언문이 수행되었을 때 class Variables { int tv;// 인스턴스변수 static int cv;// 클래스변수 (static변수, 공유변수) void method() { int lv = 0;// 지역변수 } } 1) 인스턴스변수(instatnce variable) - 클래스 영역에 선언, 클래스의 인스턴스를 생성할 ..

공부/Java 2021.02.17

[자격증] 컴퓨터활용능력 1급 실기 후기

1. 시험 접수 2021년부터 1급 실기가 개정되었기 때문에 2021년 1월 1일부터 새롭게 접수할 수 있었다. 서울은 1월 1일을 제외하고 격주 월요일마다 시험장이 개설되었다. 01/26(화) 01/27(화) 02/01(월) 02/02(화) 이렇게 접수했고 26일 시험을 본 뒤 27일은 미응시, 1일과 2일은 환불받았다^-^ 그래도 취소기한 생각해가면서 2,3일 연속접수 하는 것이 마음 편한 것 같다. 시험장은 남대문상공회의소 2F 제 5 시험장이었다. 특이점은 올해부터 이 시험장만 듀얼모니터로 진행되는데 이에 대해선 4.시험 후기에서! 2. 강의 www.itbtm.com/ 컴퓨터자격증 전문 사이트 IT 버팀목 시험소개 및 학습법 소개 컴퓨터 활용능력 1급 단기과정 필기 실기 1급 정규과정 필기 실기 ..

[Java-06] 객체지향프로그래밍 - 클래스, 객체

1. 객체지향언어 "실제 세계는 사물(객체)로 이루어져 있으며, 발생하는 모든 사건들은 사물간의 상호작용이다." - 실제 사물의 속성과 기능을 분석한 다음, 데이터(변수)와 함수(메서드)로 정의함으로써 실제 세계를 컴퓨터 속에 옮겨 놓은 것과 같은 가상세계를 구현함 - 기존의 'FORTRAN', 'COBOL'과 같은 절차적 언어의 한계를 느끼고 객체지향언어를 이용한 개발방법론이 대안으로 떠오르게 되면서 객체지향언어는 프로그래밍언어의 주류로 자리 잡음 - 1960년대 중반 최초의 객체지향언어 '시뮬라(Simula)'를 시작으로 'C++', '자바(Java)'가 발표됨 객체지향언어의 특징 1. 코드의 재사용성이 높음 - 새로운 코드를 작성할 때 기존의 코드를 이용하여 쉽게 작성할 수 있음 2. 코드의 관리가..

공부/Java 2021.02.16

[Java-05] 배열(Array) - String 배열, 2차원 배열

1. String 배열 1) String 배열의 선언과 생성 String[] name = new String[3]; - String타입의 참조변수를 저장하기 위한 공간이 마련 - 참조형 변수의 기본값은 null이므로 각 요소는 null로 초기화 2) String 배열의 초기화 String[] name = new String[3]; name[0] = new String("Lee"); name[1] = new String("Yeon"); name[2] = new String("Ju"); // 원래 String은 new 연산자를 사용해 객체를 생성해야하나 생략할 수 있음 String[] name = new String[3]; name[0] = "Lee"; name[1] = "Yeon"; name[2] = "J..

공부/Java 2021.02.15

[Java-05] 배열(Array) - 1차원 배열

1. 배열(array)이란? 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것 ex) int[] score = new int[5]; -> 5개의 int값을 저장할 수 있는 배열을 생성함 2. 배열의 선언과 생성 1) 배열 선언 - 생성된 배열을 다루기 위한 참조변수를 위한 공간을 만드는 것 타입[ ] 변수이름; 또는 타입 변수이름[ ]; ex) int [] score; 또는 int score[]; String [] name; 또는 String name[]; 2) 배열 생성 - 배열을 선언한 다음에는 배열을 생성해야만 값을 저장할 수 있는 공간이 만들어짐 - new 연산자 사용 - 주어진 타입을 주어진 길이만큼 저장할 수 있는 배열이 생성 타입[ ] 변수이름; // 배열 선언 변수이름 = new 타입[길..

공부/Java 2021.02.10