자격증
[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 자료[행의 개수][열의 개수]; |
초깃값이 있는 경우 |
자료형 [][]배열명 = {{초깃값}, {초깃값},...}; |
문자열
문자열 비교
- == 연산자
== 연산자는 문자열의 주소값을 비교하는 연산자이다.
- 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 메서드를 상속받아 내부 정의
}
}