본문 바로가기
자격증

[2일차] 정보처리기사 실기 프로그래밍 언어 활용 - Java 언어

by lovedeveloping 2024. 9. 27.
반응형

교재 참고
교재 참고

Java언어 학습

오늘은 2일 차입니다. 1일 차 때 학습한 C언어와 비슷한 점이 많네요. 오늘도 열심히 정리해보겠습니다.

 

자료형

자료형 유형

유형 설명 선언 형식
문자형(Character) 문자 하나를 저장할 때 사용하는 자료형 char
문자열형(String) 문자 여러 개를 저장할 때 사용하는 자료형 String
정수형(Integer) 정숫값을 저장하고자 할 때 사용하는 자료형 byte, short, int, long
부동 소수정형(Floating Point) 소수점을 포함하는 실숫값을 저장하고자 할 때 사용하는 자료형 float, double
논리형(Logical Boolean) 참, 거짓을 나타낼 때 사용하는 자료형 boolean

배열

1차원 배열

구분 선언
초깃값이 없는 경우 자료형[] 배열명 = new 자료형[배열 요소 개수];
자료형 배열명[] = new 자료형[배열 요소 개수];
초깃값이 있는 경우 자료형 []배열명 = {초깃값};

2차원 배열

구분 선언
초깃값이 없는 경우 자료형[][] 배열명 = new 자료[행의 개수][열의 개수];
자료형 배열명[][] = new 자료[행의 개수][열의 개수];
초깃값이 있는 경우 자료형 [][]배열명 = {{초깃값}, {초깃값},...};

문자열

문자열 비교

  1.  == 연산자
     == 연산자는 문자열의 주소값을 비교하는 연산자이다.
  2. equals 메서드
    equals 메서드는 문자열 자체를 비교하는 메서드이다.

반복문 - for each 문

for each 문의 개념

배열이나 리스트의 크기만큼 반복하는데, 반복할 때마다 배열이나 리스트의 항목을 순차적으로 변수에 대입하는 반복문

for each 문의 구조

for(제어변수: 배열) {
  문장;
}

메서드

사용자 정의 함수(메서드)

자료형 함수명(자료형 변수명, ...){
  명령어;
  return 반환값; 
}

static 메서드

1. 클래스가 메모리에 올라갈 때 자동적으로 생성되는 메서드
2. 인스턴스를 생성하지 않아도 호출이 가능하게 된다.

클래스

클래스 접근 제어자 종류

종류 설명
public 외부의 모든 클래스에서 접근이 가능한 접근 제어자
protected 같은 패키지 내부에 있는 클래스와 상속받은 하위 클래스 둘 다 접근이 가능한 접근 제어자
default 접근 제어자가 명시하지 않은 경우로 같은 패키지 내부에 있는 클래스에서 접근이 가능한 접근 제어자
private 같은 클래스 내에서만 접근이 가능한 접근 제어자

클래스 정의

public class 클래스명 {
 public 자료형 변수명;
 public 반환_자료형 메서드명(자료형 변수명, ...){
  명령어;
  return;
 }
}

변수 생성

클래스명 변수명 = new 클래스명(파라미터);
변수명.메서드명(); // 접근 방법

클래스 this

클래스 내부 변수 접근 this.변수;
클래스 내부 메서드 접근 this.메서드(매겨변수);
클래스 내부 생성자 호출 this(매겨변수);

생성자(Constructor)

1. 생성자는 클래스 명과 동일한 메서드명을 가지고, 반환 값이 없다.
2. 생성자가 없을 경우 public 클래스명() { }이라는 아무 일도 하지 않는 생성자가 있는 것처럼 동작한다.
// 생성자 정의
public class 클래스명{
 public 클래스명(매개변수){
  명령어;
 }
}

// 생성자 호출
클래스명 클래스 변수 = new 클래스명(매개변수);
Example e1 = new Example(); //예시

클래스 상속

클래스 상속 개념

자식 클래스가 생성하면 무조건 부모 클래스의 생성자를 실행한 후에 자식 클래스의 생성자를 실행한다.

클래스 상속 문법

class 부모_클래스명{
}

class 자식_클래스명 extends 부모_클래스명 {
}

오버로딩(Overriding)

동일 이름의 메서드를 매개변수만 다르게 하여 여러 개 정의할 수 있는 기능이다.

* 메서드 이름이 같아야 한다.
* 매개변수 개수가 달라야 한다.
* 매개변수 개수가 같을 경우 데이터 타입이 달라야 한다.
* 반환형은 같거나 달라도 된다.

오버라이딩(Overriding)

하위 클래스에서 상위 클래스 메서드를 재정의할 수 있는 기능이다.

* 오버라이드하고자 하는 메서드가 상위 클래스에 존재 해야 한다.
* 메서드 이름이 같아야 한다.
* 메서드 매개변수 개수, 데이터 타입이 같아야 한다.
* 메서드 반환형이 같아야 한다.

부모 클래스 접근

super 키워드를 이용하여 상위 클래스의 변수나 메서드에 접근할 수 있다.
부모 클래스 내부 변수 접근 super.변수;
부모 클래스 내부 메서드 접근 super.메서드(매개변수);
부모 클래스 내부 생성자 호출 super(매개변수);

추상 클래스

추상 클래스 개념

미구현 추상 메서드를 한 개 이상 가지고, 자식 클래스에서 해당 추상 메서드를 반드시 구현하도록 강제하는 기능

추상 클래스 문법

abstract class 추상_클래스명{
 abstract 자료형 메서드명(); // 내부 정의 하지 않음
}

class 자식_클래스명 extends 추상_클래스명{
 자료형 메서드명() {
  명령어; // 메서드를 상속받아 메서드 내부를 정의
 }
}

인터페이스

인터페이스 개념

자바의 다형성을 극대화하여 개발코드 수정을 줄이고 유지보수성을 높이기 위한 문법

오직 추상 메서드와 상수만을 멤버로 가질 수 있고, 그 외의 다른 어떠한 요소도 허용하지 않는다.

인터페이스 문법

interface 인터페이스_클래스명 {
 자료형 메서드명(); // 메서드 내부는 정의 X
}

class 자식_클래스명 implements 인터페이스_클래스명{
 자료형 메서드명() {
  // interface 메서드를 상속받아 내부 정의
 }
}

 

반응형