728x90
반응형

자바프로그래밍 20

[취성패] 자바 배우기 - 선수학습(Object 클래스)

[toString 메서드] 1. Object 클래스 개요 - 자바의 최상위 클래스는 java.lang.Object 클래스 : jave.lang패키지 안에 Object클래스가 있음 - 자바의 모든 클래스는 Object 클래스로부터 상속 받음 - 새로 정의되는 모든 클래스는 extends 키워드가 없어도 묵시적으로 Object 클래스로부터 상속 받음 - Object 클래스에는 toString() 메서드와 equals() 메서드가 정의되어 있음 - toString 메서드 public String toString() 객체의 문자열을 반환 - equals 메서드 public boolean equals(Object obj) 두 객체의 내용을 비교하여 참, 거짓을 반환 2. toString 메서드 활용 - toStr..

[취성패] 자바 배우기 - 선수학습(내부 클래스)

- 클래스에도 아웃소싱과 유사한 기법 적용 가능 -> 클래스 내부에 특정한 처리를 담당하는 클래스를 포함시킬 수 있음 - 내부 클래스 : 클래스 내에 정의된 또 다른 클래스 [내부 클래스 정의] 1. 내부 클래스 개요 - 클래스 내에 또 다른 클래스를 포함하는 기법 - 포함하는 클래스를 외부 클래스, 포함되는 클래스를 내부 클래스라 함 - 내부 클래스에서 외부 클래스의 접근은 제한 없이 가능 - 외부 클래스에서 내부 클래스의 멤버 변수나 메서드에 접근시 내부 클래스의 객체를 생성해야 함 class A { -> 외부 클래스 class B { -> 내부 클래스 } } - 컴파일 한 뒤에는 내부 클래스 파일이 별도로 생성됨 - 별도로 생성된 파일명 : 외부클래스명$내부클래스명.class - GUI 프로그래밍에..

[취성패] 자바 배우기 - 선수학습(인터페이스)

[인터페이스 정의] 1. 인터페이스 개요 ex) 음향기기의 볼륨조절 장치 -> 인터페이스로 구현 -> 여러가지 음향기기 클래스에 쉽게 적용 가능 - 클래스와는 다른 개념 - 명칭과 매개변수가 동일한 메서드로 객체에 접근 가능하도록 하기 위한 기법 - 인터페이스의 모든 메서드는 추상 메서드이며 "abstract" 키워드를 붙이지 않아도 됨 - 인터페이스에 정의된 메서드는 인터페이스를 사용하는 클래스에서 반드시 구현해야 함 - 인터페이스의 모든 메서드는 public으로 선언해야 함 - 인터페이스는 값을 저장하는 일반 변수를 가질 수 없으나 상수는 사용 가능함 - 인터페이스의 메서드는 내부적으로 "public abstract"로 인식함 - 클래스에서 인터페이스를 적용할 때 "구현한다."라는 표현을 쓰며 "im..

[취성패] 자바 배우기 - 선수학습(추상 클래스)

[추상 클래스 정의] 1. 추상 클래스 개요 - 객체를 생성할 수 없는 클래스 - 동일한 목적으로 접근 가능한 자식 클래스들을 정의하기 위해 사용 - 추상 클래스 자체는 내용을 갖지 않으며 상속을 위해 설계 -> 객체 생성을 직접 하지 않음 - 추상 클래스는 일반 메서드나 멤버 변수를 가질 수 있음 - class 앞에 "abstract" 키워드를 추가 - 문법 abstract class 클래스명 { 문장; } 2. 추상 메서드 - 내용을 갖지 않으며 몸통 부분이 없는 메서드 - 메서드명 앞에 "abstract" 키워드를 추가함 - 추상 메서드를 가지는 클래스는 반드시 추상 클래스여야 함 -> 추상 클래스가 아닌 클래스에서 추상 메서드를 정의할 경우 에러 - 추상 메서드는 실제 내용이 없으므로 호출이 불가..

[취성패] 자바 배우기 - 선수학습(상속과 접근제어)

[접근 지정자] 1. 접근 지정자 개요 - 접근 지정자 : 클래스의 멤버 변수 또는 메서드에 접근할 수 있는 수준을 나타내는 키워드 - 종류 : private, protected, public -> private : 클래스 내부에서만 접근 가능 -> protected : 클래스 내부와 상속받은 클래스, 동일 패키지 내의 클래스에서 접근 가능 -> public : 클래스 외부에서 제한 없이 접근 가능 - 생략 시 : 접근 지정자를 생략했을 경우 클래스 내부와 동일 패키지 또는 동일 디렉터리 내에서 접근 가능 - 일반적으로 멤버변수는 private으로, 메서드는 public으로 지정하여 멤버 변수에 쉽게 접근하지 못하도록 하고 메서드를 통해서만 접근할 수 있도록 함 2. 접근 지정자 활용 1) private..

[취성패] 자바 배우기 - 선수학습(static)

[정적 멤버변수] 1. static 개요 - 일반적으로 클래스의 객체가 생성될 경우 멤버변수는 각각의 객체가 독립적으로 사용 - 여러 객체가 멤버변수를 공유하고자 할 경우 static 키워드 사용 - static 멤버변수 정의 문법 class ExamStatic { -> 클래스 명칭 : ExamStatic static int count = 0; -> 멤버변수 2개 정의 count(객체가 여러개 생성되어도 공유 가능), age int age = 30; } - 위와 같은 클래스의 경우 count 변수는 생성된 객체에서 공유할 수 있으며 age 변수는 객체마다 독립적으로 유지됨 ExamStatic a = new ExamStatic(); ExamStatic b = new ExamStatic(); count(공유..

[취성패] 자바 배우기 - 선수학습(생성자)

1. 생성자 개요 - 객체 생성 과정 -> 객체에 대한 기억장소 할당 -> 객체의 변수(속성) 초기화 -> 생성자 호출 - 생성자는 객체가 생성될 때 변수를 초기화하는 작업을 담당 - 생성자는 객체 생성시 자동으로 호출됨 -> 따로 호출하는 등의 작업 필요X - 생성자의 명칭 부여는 변수명 부여 규칙과 동일하며 반드시 클래스명과 같도록 함 - 생성자의 반환데이터형은 작성하지 않음 -> 반환데이터형이 없다! - 일반적으로 접근제한자는 외부에서 접근이 가능하도록 public(예약어)으로 부여함 2. 생성자 정의 및 호출 - 기본 문법 접근제한자 생성자명칭(매개변수 리스트) { -> 필요시 매개변수 리스트 적음, 없을 수도 있음 문장; } - 예 : 클래스명이 TestClass 일 경우 public TestC..

[취성패] 자바 배우기 - 선수학습(메서드와 오버로딩)

1. 메서드 정의 1) 메서드 개요 - 클래스 내에 위치하며 행위를 담당하는 프로그램 영역 - 메서드 문법 반환데이터형 메서드명(매개변수 리스트) { -> 필요시 매개변수 리스트 적음(여러개일수도, 없을수도 있음) 변수 선언; -> 이 변수는 여기 안에서만 사용 문장; -> 실행문, 덧셈, 뺄셈, 연산식 등 return 반환 값; } * 메서드 문법 - 메서드 명은 식별자 선언 규칙에 따라 부여함 (영문자, 숫자 혼용, 밑줄문자, 단, 시작은 영문자로, 예약어/특수문자X, 대소문자 구별) - 매개변수 리스트는 데이터형과 변수명으로 나타내며, 한 개도 없을 수도 있음(두개 이상 시 ,로 구분) - 반환데이터형은 반환 값의 타입과 일치해야 하며 반환할 값이 없을 경우 void로 기술해야 함 - 반환 값이 없..

[취성패] 자바 배우기 - 선수학습(클래스)

1. 클래스의 구조와 선언 1) 클래스 개요 - 클래스는 객체를 생성하기 위한 틀과 같으며 속성과 행위(메서드)를 포함 - 예 : 자동차 클래스에서는 개념만 정의함(승차정원, 최고속도 등..) -> 객체 생성해서는 승차정원은 5로, 최고 속도는 : ~로 구체적으로 해서 만든다 - 클래스 : 추상화된 내용 -> 자체로는 어떤 역할을 하지 못함 - 객체 : 구체적인 내용 -> 객체로 생성해야 동작 2) 클래스 선언 class 클래스명 { -> 클래스 : 식별자 선언 규칙(영문 대문자로 시작, 특수문자 X 등) 데이터형 변수명; -> 속성 : 여러 개가 나올 수 있음 ex) 승차인원, 최고속도 생성자() { } -> 객체화되어 동작할 때 우선적으로 처리해야 할 일들을 넣어줌 데이터형 메서드() { } -> 행..

[취성패] 자바 배우기 - 선수학습(배열-일차원, 이차원)

일반 변수, 배열 : 값을 저장하는 역할 배열의 장점 : 대량의 자료를 편리하게 처리, 프로그램의 구조를 단순하게 함 1. 일차원 배열 1) 일차원 배열의 선언 - 배열은 동일한 자료형의 데이터를 하나의 명칭에 여러 개 저장하기 위한 구조 - 배열을 선언하기 위해서는 new 연산자를 사용하는 방법과 배열의 값을 초기화하는 방법을 사용할 수 있음 - new 연산자를 사용하여 일차원 배열을 선언 -> int data[] = new int[5]; //5개의 정수형 배열 선언(첨자 0부터 시작, 0~4까지 5개) data[0] data[1] data[2] data[3] data[4] 0 0 0 0 0 - 배열의 첨자는 0부터 시작하며 5개의 배열을 선언할 경우 마지막 첨자는 4가 됨 - new 연산자를 사용하여..

728x90
반응형