일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- #Ajax #EL #JSTL
- #jdbc #자바
- #스윙 #함수 #Swing
- #자바 #오라클 #연동
- #자바 #입출력 #함수
- #48일차 #한 내용 #요약
- #스프링 프레임 워크 #인코딩 #컨텍스트 #환경설정
- #자바 #스윙관련 함수 #API보고 정리했음
- #웹 #중요한 것
- #BigDecimal
- #제약 조건 #함수 #컬럼 변경 #테이블 변경& 삭제
- #자바 #오라클 #JDBC
- #웹 #HTTP 프로토콜
- #StringBuffer #자바 #
- #오라클 #11g #테이블
- #오라클 #용어 정리 #데이터 타입 #비교 연산자 #논리 연산자 #SELECT 문
- #자바 #파일 #함수
- #오라클 #계정 생성 #테이블 #생성 #조회 #추가
- #오라클 #자바 #연동
- #함수 #키워드 #조인 #서브쿼리
- #리뷰 #CSS #선택자
- #돔 트리 #form 태그 #이스케이프문자 #시작태그 #form태그
- #함수 #VIEW #시퀀스 #INDEX
- #자바 #입출력
- #프로그래밍 기초
- #Web #웹 #jsp #servlet
- #HTML4.01또는 5의 차이 #parsing #웹브라우저 #form 태그 #태그 속성 #id #name
- #웹 #정의 #5대 브라우저 #
- #오라클 #함수 #MAX() #MIN() #LPAD() #SUBSTR() #TO_CHAR() #복사 #지우기 #수정
- #자바
- Today
- Total
IT journey
12일차 제어문 3편,배열 2편, 상속 본문
직접 내용 정리하고 만든 예이니 퍼가실 때는 출처를 남겨주세요 :)
아래에 있는 이전 발행글을 참고하시면 소스코드를 작성하는데 도움이 됩니다.
배열
2차원 배열
자료형 배열참조변수 [][] = new 자료형[요소개수][요소개수];
자료형[][] 배열참조변수 = new 자료형[요소개수][요소개수];
자료형[] 배열참조변수 = new 자료형[요소개수][요소개수];
자료형 배열참조변수[][] = new 자료형[][]{{0,1,2},{3,4,5},{6,7,8}}
자료형 배열참조변수[][] = {{0,1,2},{3,4,5},{6,7,8}};
//1. package 선언
package a.b.c.example;
//2. import 선언
// 3. 클래스 선언
public class ArrayEx
{
// 4. 상수 선언
// 5. 멤버변수(멤버변수,전역변수,클래스 변수,은닉화(private))
// 6.생성자 선언 : 생성자 오버로딩
// 7. 함수 : 일반함수
// 8. 메인 함수 : 의도적으로 맨 뒤에 위치한다.
// 메인함수에서 인터프리터 방식으로 위에 선언한 변수, 함수를 유기적으로 호출해서 프로그램을 수행한다.
// main() 함수 : 프로그램 시작점
public static void main(String[] args) {
//TODO Auto-generated method stub.
//9. 지역변수 선언 및 초기화 하기
int [][] ar = {{10,20,30},{40,50,60}};
for(int i=0;i<ar.length;i++){
for(int j=0;j<ar.length;j++){
System.out.println("ar["+i+"]["+j+"] : " + ar[i][j]);
}
}
}
}
enhanced for loop
jdk 1.5 에서 지원하는 향상된 for문으로 형식은 아래와 같습니다.
for(변수:배열){
반복 실행문;
}
그에 대한 예제입니다.
1. 1일차 내용 중 자파 파일 만들기처럼 만듭니다.
이 때의 파일 이름은 Array2.java로, 파일 형식은 All Files로 변경한 뒤 저장해줍니다.
2. 아래 코드를 입력하세요.
//1. package 선언
package a.b.c.example;
//2. import 선언
// 3. 클래스 선언
public class Array2
{
// 4. 상수 선언
// 5. 멤버변수(멤버변수,전역변수,클래스 변수,은닉화(private))
// 6.생성자 선언 : 생성자 오버로딩
// 7. 함수 : 일반함수
// 8. main() 함수 : 프로그램 시작점
public static void main(String[] args) {
//TODO Auto-generated method stub.
//9. 지역변수 선언 및 초기화 하기
// String[] args : 명령행 인수
// 향상된 for문
System.out.println("args.length는 " + args.length);
for(String e : args){
System.out.println("e >>> " + e);
}
// 일반 for문
for(int i=0;i<args.length;i++){
System.out.println("args["+i+"]"+args[i]);
}
}
}
컴파일
javac -d . Array2.java
실행
java a.b.c.example.Array2 A B C D
자바에서 자원을 메모리에 올리는 방법
1. static 키워드
2. new 키워드, 연산자 , 예약어
3. 상속(inheritance) : extends (클래스 상속) 상속할 수 있는 클래스가 1개 있습니다.
implements (인터페이스 클래스 상속 ) 여러 개 상속할 수 있습니다.
상속
1. 자바는 모두 객체(object)이지만, 유일하게 객체가 아닌 것이 있습니다.
이것이 바로 기초자료형(byte,char,short,int,float,double,boolean)입니다.
2. 자바의 객체는 모두 클래스이며, 이 클래스들은 모두 계층형 구조를 가지고 있습니다.
이 계층의 구조의 root 클래스는 java.lang.Object 입니다.
(즉, 빌트인 클래스, 사용자 정의 클래스들은 java.lang.Object 클래스를 상속하고 있습니다.)
이에 대한 예로는, public final String extends Object이 있습니다.
이 클래스는 자원(생성자 1개, 함수 11개)를 가지고 있습니다.
3. 상속해준 클래스(부모 클래스)는 Super, Base,Parent.... class라고 하고,
상속당한 클래스(자식 클래스)는 Sub, Derived, Chile... class 라고 합니다.
4. 상속당한 자식 클래스는 부모의 자원(변수,함수)을 사용할 수 있고, 변경해서 사용할 수도 있습니다.
5. 상속해준 부모클래스는 자식 클래스에 있는 자원을 사용하려면 자식 클래스의 허락을 받아야 합니다.
6. 방법
① 클래스 상속
public class 사용자정의 클래스이름 extends 부모 클래스 이름(클래스 한개만 사용가능)
② 인터페이스 상속
public class 사용자정의 클래스 이름 implements 부모 인터페이스 이름, 부모 인터페이스 이름...(여러개)
그에 대한 예제입니다.
1. 1일차 내용 중 자파 파일 만들기처럼 만듭니다.
이 때의 파일 이름은 Animal.java로, 파일 형식은 All Files로 변경한 뒤 저장해줍니다.
2. 아래 코드를 입력하세요.
//1. package 선언
package a.b.c.example;
//2. import 선언
// 3. 클래스 선언
public class Animal extends java.lang.Object
{
// 4. 상수 선언
// 5. 멤버변수(멤버변수,전역변수,클래스 변수,은닉화(private))
// 6.생성자 선언 : 생성자 오버로딩
public Animal(){
System.out.println("Animal() 생성자입니다. ");
}
// 7. 함수 : 일반함수
public String animalInfo(){
return "안녕하세요";
}
}
3. 1일차 내용 중 자파 파일 만들기처럼 만듭니다.
이 때의 파일 이름은 Monkey.java로, 파일 형식은 All Files로 변경한 뒤 저장해줍니다.
4. 아래 코드를 입력하세요.
//1. package 선언
package a.b.c.example;
//2. import 선언
// 3. 클래스 선언
public class Monkey extends Animal
{
// 4. 상수 선언
// 5. 멤버변수(멤버변수,전역변수,클래스 변수,은닉화(private))
// 6.생성자 선언 : 생성자 오버로딩
public Monkey(){
System.out.println("Monkey() 생성자입니다.");
}
// 7. 함수 : 일반함수
public String toString(){
return "이것은 Monkey에 있는 toString입니다.";
}
// 8. 메인 함수 : 의도적으로 맨 뒤에 위치한다.
// 메인함수에서 인터프리터 방식으로 위에 선언한 변수, 함수를 유기적으로 호출해서 프로그램을 수행한다.
// main() 함수 : 프로그램 시작점
public static void main(String[] args) {
//TODO Auto-generated method stub.
//9. 지역변수 선언 및 초기화 하기
Monkey monkey = new Monkey();
System.out.println("monkey.toString() " + monkey.toString());
String info = monkey.animalInfo();
System.out.println(info);
}
}
5. 컴파일과 실행하세요.
javac -d . Monkey.java Animal.java
java a.b.c.example.Monkey
간략히 소스파일에 대해 설명해보겠습니다.
위 소스파일로 봤을 때, 자식 클래스는 Monkey 이고 부모 클래스는 Animal입니다.
부모클래스와 자식클래스 중 부모클래스가 먼저 로드합니다.
출력할 때는 자식에 있는 자원(변수와 함수)를 사용 후 부모에 있는 자원을 씁니다.
이 내용은 실행 결과를 보며 다시 설명해보도록 하겠습니다.
참고로, 아래에 있는 것은 실행 결과입니다.
Animal() 생성자입니다. <--- 이 결과를 보았을 때, 부모클래스와 자식클래스 중 부모클래스가 먼저 로드한다는 것을 알 수 있습니다.
Monkey() 생성자입니다.
monkey.toString() 이것은 Monkey에 있는 toString입니다. <-- 이것을 출력할 때는 자식에 있는 자원(변수와 함수)를 사용 후 부모에 있는 자원을 쓴다는 것을 알 수 있습니다.
안녕하세요
'끄적끄적 > JAVA' 카테고리의 다른 글
14일차 생성자 (8) | 2021.07.15 |
---|---|
13일차 추상클래스, 인터페이스 (8) | 2021.07.14 |
11일차 제어문 2편, 배열 1편 (6) | 2021.07.12 |
7일차 자바 실습 예제 (8) | 2021.07.06 |
6일차 자바 소스 코드를 작성하는 규칙 (10) | 2021.07.05 |