관리 메뉴

IT journey

12일차 제어문 3편,배열 2편, 상속 본문

끄적끄적/JAVA

12일차 제어문 3편,배열 2편, 상속

step 2021. 7. 13. 22:04
728x90
반응형

직접 내용 정리하고 만든 예이니 퍼가실 때는 출처를 남겨주세요 :)

아래에 있는 이전 발행글을 참고하시면 소스코드를 작성하는데 도움이 됩니다.

11일차 제어문 2편, 배열 1편

 

11일차 제어문 2편, 배열 1편

직접 내용 정리하고 만든 예이니 퍼가실 때는 출처를 남겨주세요 :) 아래에 있는 이전 발행글을 참고하시면 소스코드를 작성하는데 도움이 됩니다. 10일차 제어문 1편 10일차 제어문 1편 직접 내

step-journey.tistory.com

10일차 제어문 1편

 

10일차 제어문 1편

직접 내용 정리하고 만든 예이니 퍼가실 때는 출처를 남겨주세요 :) 아래에 있는 이전 발행글을 참고하시면 소스코드를 작성하는데 도움이 됩니다. 9일차 연산자(feat. if문) 9일차 연산자(feat. if문

step-journey.tistory.com

9일차 연산자(feat. if문)

 

9일차 연산자(feat. if문)

직접 내용 정리하고 만든 예이니 퍼가실 때는 출처를 남겨주세요 :) 아래에 있는 이전 발행글을 참고하시면 소스코드를 작성하는데 도움이 됩니다. 8일차 아스키코드 8일차 아스키코드 직접 내

step-journey.tistory.com

8일차 아스키코드

 

8일차 아스키코드

직접 내용 정리하고 만든 예이니 퍼가실 때는 출처를 남겨주세요 :) 아래에 있는 이전 발행글을 참고하시면 소스코드를 작성하는데 도움이 됩니다. 7일차 자바 실습 예제 7일차  자바 실습 예제

step-journey.tistory.com

7일차 자바 실습 예제

 

7일차  자바 실습 예제

직접 내용 정리하고 만든 예이니 퍼가실 때는 출처를 남겨주세요 :) 아래에 있는 이전 발행글을 참고하시면 소스코드를 작성하는데 도움이 됩니다. 6일차 자바 소스 코드를 작성하는 규칙 6일차

step-journey.tistory.com

6일차 자바 소스 코드를 작성하는 규칙

 

6일차  자바 소스 코드를 작성하는 규칙

직접 내용 정리하고 만든 예이니 퍼가실 때는 출처를 남겨주세요 :) 아래에 있는 이전 발행글을 참고하시면 소스코드를 작성하는데 도움이 됩니다. 5일차 자바의 자료형(feat.생성자) 5일차 자바

step-journey.tistory.com

5일차 자바의 자료형(feat.생성자)

 

5일차 자바의 자료형(feat.생성자)

직접 내용 정리하고 만든 예이니 퍼가실 때는 출처를 남겨주세요 :) ★ 꼭 !! 지켜야 할 사항 ★ 아래에 있는 1일차,2일차,3일차,4일차 내용을 우선적으로 보고 오세요. 1일차 1일차 직접 내용 정리

step-journey.tistory.com

4일차 자바의 클래스

 

4일차 자바의 클래스

직접 내용 정리하고 만든 예이니 퍼가실 때는 출처를 남겨주세요 :) ★ 꼭 !! 지켜야 할 사항 ★ 아래에 있는 1일차,2일차,3일차 내용을 우선적으로 보고 오세요. 1일차 1일차 직접 내용 정리하고

step-journey.tistory.com

3일차

 

3일차

직접 내용 정리하고 만든 예이니 퍼가실 때는 출처를 남겨주세요 :) ★ 꼭 !! 지켜야 할 사항 ★ 아래에 있는 1일차,2일차 내용을 우선적으로 보고 오세요. 1일차 1일차 직접 내용 정리하고 만든

step-journey.tistory.com

2일차

 

2일차

직접 내용 정리하고 만든 예이니 퍼가실 때는 출처를 남겨주세요 :) ★ 꼭 !! 지켜야 할 사항 ★ 1일차 내용을 우선적으로 보고 오세요. 1일차 1일차 직접 내용 정리하고 만든 예이니 퍼가실 때는

step-journey.tistory.com

1일차

 

1일차

직접 내용 정리하고 만든 예이니 퍼가실 때는 출처를 남겨주세요 :) 1.1 컴퓨터 1. 종류 데스크탑(Desktop), 노트북(Laptop), 핸드폰(Smart Phone), 테블릿입니다. 2. 구조 입출력 장치(모니터, 키보드, 마우

step-journey.tistory.com

JAVA - 클래스

 

JAVA - 클래스

직접 내용 정리하고 만든 예이니 퍼가실 때는 출처를 남겨주세요 :) 클래스 ○객체를 만드는 기능을 합니다. ○ 클래스는 객체의 틀이 되는 추상적인 개념이고 객체는 클래스에 정의된 요소들의

step-journey.tistory.com

JAVA-제어문(feat.파일 입출력)

 

JAVA-제어문(feat.파일 입출력)

직접 내용 정리하고 만든 예이니 퍼가실 때는 출처를 남겨주세요 :) ※ 참고사항 제어문에 들어가기 전, 증감연산자, 비교(관계)연산자와 논리연산자에 대해 올린 C언어-연산자 편을 참고하시면

step-journey.tistory.com

JAVA-자료형

 

JAVA-자료형

직접 내용 정리하고 만든 예이니 퍼가실 때는 출처를 남겨주세요 :) 1. print(), println(), printf() 의 차이 print() 출력 후 줄을 바꾸지 않습니다. println() 출력 후 자리를 바꿉니다. printf() printf("출력..

step-journey.tistory.com

728x90

 


배열

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일차

직접 내용 정리하고 만든 예이니 퍼가실 때는 출처를 남겨주세요 :) 1.1 컴퓨터 1. 종류 데스크탑(Desktop), 노트북(Laptop), 핸드폰(Smart Phone), 테블릿입니다. 2. 구조 입출력 장치(모니터, 키보드, 마우

step-journey.tistory.com

//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로 변경한 뒤 저장해줍니다.

 

1일차

직접 내용 정리하고 만든 예이니 퍼가실 때는 출처를 남겨주세요 :) 1.1 컴퓨터 1. 종류 데스크탑(Desktop), 노트북(Laptop), 핸드폰(Smart Phone), 테블릿입니다. 2. 구조 입출력 장치(모니터, 키보드, 마우

step-journey.tistory.com

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로 변경한 뒤 저장해줍니다.

 

1일차

직접 내용 정리하고 만든 예이니 퍼가실 때는 출처를 남겨주세요 :) 1.1 컴퓨터 1. 종류 데스크탑(Desktop), 노트북(Laptop), 핸드폰(Smart Phone), 테블릿입니다. 2. 구조 입출력 장치(모니터, 키보드, 마우

step-journey.tistory.com

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입니다. <-- 이것을 출력할 때는 자식에 있는 자원(변수와 함수)를 사용 후 부모에 있는 자원을 쓴다는 것을 알 수 있습니다.
안녕하세요

728x90
반응형

'끄적끄적 > 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
Comments