본문 바로가기
카테고리 없음

JAVA언어 강의필기_[정보처리기사 4과목(프로그래밍 언어)]_230213

by 태태. 2023. 2. 13.
728x90

[필기기준 : 지극히 주관적입니다.]
개념부분 : 핵심으로 이해 가능하지만 짤막한 수준으로 작성
모르는 부분 : 이해를 돕는 다른 검색 사항과 함께 작성

JAVA언어 : C언어를 기반으로 만들어진 객체지향 프로그래밍 언어 ( C언어 문법과 거의 동일하다). C언와 차이점 : C언어(절차적 Programmin Language) , JAVA(객체지향 Programming Language) 기존 C언어는 절차적 언어이기 때문에 재사용성 低 👉 유지보수 低 : ( 재사용성이 떨어져 👉 유지보수 하기힘들다)
이를 개선하기 위해 만들어진 "객체지향 패러다임" - JAVA, Python 재사용성 ↑ 👉 유지보수 ↑ : (재사용성을 올려서 유지보수하는데에 좋다.)


🔖
14 개념 0:17:32 정보처리기사 필기 4과목.프로그래밍 언어 활용-JAVA_객체지향

* 객체 지향
현실 세계에서 존재하는 실체(Entity, 개체) 및 개념들을 객체라는 독립된 단위로 구성하고, 이 객체들이 메시지를 통하여 상호작용함으로써 전체 시스템이 운영되는 개념

  • 클래스(빵틀) : 개념적인 의미
  • 객체(빵) : 구체적인 의미

틀을 잘 만들어 놓으면 빵은 얼마든지 다시 만들 수 있다.
= 클래스를 잘 만들어놓으면 객체를 얼마든지 만들어 낼 수 있기 때문에 재사용성이 우수하다.

객체를 만들어 놓았을 때 2부분으로 나뉜다. ( 속성과 메소드로 )

  • 속성 = 말 그대로 특성. : 내 생각에, 언어적으로는 형용사
  • 메소드 : 자가용(객체가)이 가질 수 있는 행위. : 내 생각에, 언어적으로는 동사

ⅰ) 클래스를 통해서👉 객체를 만들어 낼 수 도 있지만
역으로,
ⅱ) 유사한 객체들 끼리 공통된 특성들을 묶음으로 👉 클래스를 만드는 방법도 있다. : 이를 추상화(모델링)한다고 한다.

~속성, 메소드 사용방법~
✔️속성
객체.속성 👈 데이터
ex ) Bus.Wheel = 4;

✔️메소드 : 함수 개념이기 때문에 ()가 붙는다.
객체.메소드() 👈 연산자
ex ) Bus.Drive();

💫Java언언에서 속성인지 메소드인지 햇갈릴때
괄호가 없으면 속성이구나~ 하면 된다.


🔖
15 개념 0:13:36 정보처리기사 필기 4과목.프로그래밍 언어 활용-JAVA_입/출력함수


🔖
16 개념 0:17:16 정보처리기사 필기 4과목.프로그래밍 언어 활용-JAVA_문법, 접근제한자

✅JAVA언어 공부팁
C언어와 거의 같기 때문에 기준공부는 C언어로 두고
👉JAVA언어는 C언어와의 다른점(차이점)을 중점적으로 공부하도록 한다.

  • int a[]와 = int[] a는 값습니다.
  • 초기화하며 배열 선언시 int[] a = {1,2,3,4,5,6}; 처럼 입력해도 됨.

*초기화시 배열 크기 생략 가능 : 비워두면 들어가는 {값}에 따라서 크기가 알아서 정해지기 때문에 생략해도 된다.


[6:00] 이부분 어렵다😅

String : 문자열 클래스
str : 문자열 객체 변수⭐

int c = str.length() 👉 객체에서 메서드를 호출을 해서 바로 길이를 반환 할 수 있다.!!

[C와의 차이점]
JAVA는
String str = "gisafirst" ;
ㄴ 위처럼 클래스(String)에서 - str(객체를 만들어서) 👉 그리고 나서 사용을 해야한다는 점 !


🔖
17 개념 0:20:37 정보처리기사 필기 4과목.프로그래밍 언어 활용-JAVA_상속, 다형성

자바의 특성 (덕분에 재사용성↑ 따라서 유지보수↑)
1️⃣상속 inheritance : 하위 클래스는 상위 클래스의 메소드와 변수들을 정의하지 않고 바로 사용(물려받는 것)
ex) (상위 클래스 : 비행기, 자동차) → 재사용
- 하위 extends 상위 → extends 키워드 사용해서 상속 받음.
* 오버라이딩(Overriding) : 하위 클래스에서 부모 클래스의 메소드를 재정의하는 과정
- 오버라이딩 메소드는 부모 클래스[] 메소드보다 우선순위 높음.
[11:29]
* 오버로딩(Overloading) : 하나의래스에서 같은 이름으로 여러 개의 메소드정의
→ 같은 이름의 함수를 여러 개 정의하고, 매개변수의 유형과 개수를 다르게 하여 다양한 유형의 호출에 응답한다.
* 매개변수(Parameter, 파라미터) : 각 함수 간 데이터를 넘겨주는데 쓰이는 변수

[14:24]

2️⃣다형성 Polymorphism : 하나의 클래스 내에서 같은 이름으로 여러 개의 메소드를 정의
→ 같은 이름의 함수를 여러 개 정의하고, 매개변수의 유형과 개수를 다르게 하여 다양한 유형의 호출에 응답한다.
1) 오버라이딩(Overriding) : 메시지에 의해 객체가 연산을 수행하게 될 때 하나의 메시지에 대해 각각의 객체가 가지고 있는 고유한 방법으로 응답할 수 잇는 것
- 동일한 이름의 여러 메소드를 다른 사양으로 정의 가능
2) 오버로딩(Overloading) : 매개변수의 수 또는 타입을 달리하여 구분

3️⃣캡슐화 Encapsulation : 데이터(속성)와 기능(메소드)를 하나의 객체로 묶어 구성(코딩)
- 객체의 속성과 메소드를 다른 객체가 접근할 수 없도록 하기 때문에 메시지 수신에 의해 요구된 작업을 수행한다.
- 클래스를 선언하고 그 클래스를 구성하느 객체에 대하여 접근 제한자를 선언하여 처리
- 왜? 정보 은폐 👉 외부에서 변경 X 👉 프로그램 변경에 대한 오류의 파급효과가 적다.
👉 소프트웨어의 부품의 재사용 증대와, 소프트웨어의 수정, 시험, 유지보수성이 향상되는 효과가 있다.

*메시지(Message) : 객체들 간 상호작용을 하는데 사용되는 수단

*정보 은폐, 정보 은닉(Information Hiding)
: 객체는 다른 객체로부터 자신의 자료를 숨기고 자신의 연산만을 통하여 접근을 허용하느 ㄴ것
- 왜? 고려되지 않은 영향들을 소화하기 위해

4️⃣정보은폐


* 매개변수(Parameter, 파라미터) : 각 함수 간 데이터를 넘겨주는데 쓰이는 변수


🔖
18 문제 0:17:52 정보처리기사 필기 4과목.프로그래밍 언어 활용-JAVA 기출풀이

📄문제 1

삼항 연산자
형식 : 조건? 수식1 : 수식2

if
True 일 때 실행되는 문장
else
False 일 때 실행되는 문장

📄 문제 2
~ class 접근 제한자 ~ ⭐⭐⭐
- public : 모든 접근을 허용
- protected : 일 패키지내의 클래스와 다른 패키지의 상속 관계에 있는 클래스에서도 접근가능
- default : 자신을 포함하는 패키지에서만 접근 가능
- private : 자신을 포함한 클래스에서만 참조 가능


X아닌 것들(오답모음)X
- package 는 접근 제한자가 아닙니다.
- internal 은 접근 제한자가 아닙니다.


[1:36]

📄 문제 3
class Child extends Parent {
public void print() {
System.out.println("Child");
}
}
👉class 자식이앞! extends 부모가뒤! {
}

✔️객체(Object) : 클래스의 인스턴스이며, 객체들 간의 상호작용은 메시지를 통해 이루어진다.
- 형식 : 클래스이름 변수이름 = new 클래스이름();

📄 문제 4
long : 정수형 ( 8 Byte )

📄 문제 5
스의 인스턴스이며, 객체들 간의 상호작용은 메시지를 통해 이루어진다.
- 형식 : 클래스이름 변수이름 = new 클래스이름();

long : 정수형 ( 8 Byte )
- System.out.print(변수), System.out.printf(변수) : 변수 출력 함수
- System.out.println(변수) : 변수 출력 후 줄 바꿈

[3:03]
📄 문제 6
길이가 nSize(4)인 정수형 배열 arr를 만드는 반복문

/

[6:26]

📄 문제7
println : 변수 출력 후 줄 바꿈

📄 문제 8
while(true) : BOTH (C언어 andJAVA) 둘다 가능!! 자바는 꼭 불린형태로만 되어있어야 된다(TRUE, FALSE)
while(1) : C언어 , JAVA 不可!

📄 문제 9
Scanner란 클래스를 사용하기 위해서는 import를 하여서 패키지를 가지고 와야 한다.
ㄴ import java.util.(Scanner)
Scanner란 입력받는 기능을 가지고 와야 합니다.

[8:40]

📄 문제 10 📄 문제 11

[12:03]


📄 문제12 (JAVA의 경우)
자바의
wilte(y--) 👉(자바의 조건문 안에는 T or F 로 판별이 가능해야 한다.) 👉 Boolean(T/F)
C언어는 숫자도 Boolean(T/F)이외로 숫자값도 가능한데,
0만 False 이고
나머지 값들(음수, 양수, 실수(?)) 은 다 true로 처리한다. ✔️암기tip: ( 無는 false / 이외로 존하는 것은 모두 True)

📄 문제12 보충학습 (C언어의 경우)
y-- 치 : 값을 사용 감소
--y 치 : 값을 사용 감소

728x90
반응형

댓글