[정처기실기] 프로그램 언어활용 - JAVA 예제 풀기
목차
JAVA 기본 개념
Class를 빵 틀이라고 생각하고, 똑같은 빵(객체)를 뽑아낸다고 생각하자.
자바 클래스는 객체 지향 프로그래밍에서 사용되는 빵틀 또는 청사진으로 생각할 수 있습니다. 클래스는 객체의 속성(데이터)과 메서드(동작)를 정의하는 일종의 템플릿입니다. 이러한 클래스를 사용하여 여러 개의 객체를 생성할 수 있습니다.
클래스는 일반적으로 다음과 같은 형식으로 작성됩니다:
public class MyClass {
// 속성(데이터)
private int myAttribute;
// 생성자
public MyClass() {
// 초기화 코드
myAttribute = 0;
}
// 메서드(동작)
public void myMethod() {
// 메서드의 기능을 구현하는 코드
System.out.println("This is my method.");
}
// 게터(getter)와 세터(setter)
public int getMyAttribute() {
return myAttribute;
}
public void setMyAttribute(int value) {
myAttribute = value;
}
}
위의 코드는 MyClass라는 클래스를 정의하는 예시입니다. 클래스는 public class라는 키워드로 시작하며, 클래스 이름은 관례적으로 대문자로 시작합니다.
클래스 내부에는 속성(데이터)과 메서드(동작)가 정의됩니다. 속성은 클래스의 상태를 나타내며, 일반적으로 변수로 표현됩니다. 메서드는 클래스가 수행할 수 있는 동작을 정의하며, 일련의 코드로 구현됩니다.
위의 예시에서는 myAttribute라는 속성과 myMethod라는 메서드가 정의되어 있습니다. myAttribute는 private 접근 제어자를 가지고 있으므로 외부에서 직접 접근할 수 없습니다. 대신에 getMyAttribute와 setMyAttribute라는 메서드를 사용하여 myAttribute에 접근할 수 있습니다. 이러한 메서드를 게터와 세터라고도 부릅니다.
클래스는 객체를 생성하기 위한 템플릿이므로, 클래스로부터 객체를 생성할 수 있습니다. 객체는 클래스의 인스턴스이며, 클래스로부터 생성된 객체는 클래스에 정의된 속성과 메서드를 사용할 수 있습니다.
MyClass myObject = new MyClass(); // MyClass의 객체 생성
myObject.setMyAttribute(10); // setMyAttribute 메서드를 사용하여 속성 설정
System.out.println(myObject.getMyAttribute()); // getMyAttribute 메서드를 사용하여 속성 출력
myObject.myMethod(); // myMethod 메서드 실행
위의 예시에서 myObject라는 객체를 생성하고, setMyAttribute 메서드를 사용하여 속성 값을 설정한 후, getMyAttribute 메서드를 사용하여 속성 값을 출력하고, myMethod 메서드를 실행합니다.
이처럼 클래스를 사용하여 객체를 생성하고 속성과 메서드를 조작함으로써 프로그램을 구성할 수 있습니다. 클래스는 코드의 재사용성과 모듈화를 촉진하며, 객체 지향 프로그래밍의 핵심 개념 중 하나입니다.
final을 주면 변경 불가
final을 가진 변수
static vs Public
static과 Non-static은 바로 실행가능한 것과 객체를 생성하고 실행가능한 것으로 구분할 수 있음.
Static으로 작성한 메서드는 별도의 객체를 생성하지 않아도 사용할 수 있는 반면, Public으로 생성한 메서드는 객체를 생성하여 이용해야한다.
public class HelloWorld {
static int x = 5;
public static void main(String[] args) {
HelloWorld h1 = new HelloWorld();
System.out.println(h1.x); // h1 객체를 통해 x 출력
System.out.println(x); // 직접 x 출력
h1.x = 6;
System.out.println(h1.x); // h1 객체를 통해 x 출력
System.out.println(x); // 직접 x 출력
}
}
생성자 문제
자동 실행되는 메서드, 클래스와 이름이 똑같은 메서드
다른 명령 없이 클래스 하위의 메서드가 실행되어 출력.
접근제어자
Public
Default
*Protected
*private
final
Public은 어디서든 쓸 수 있음
상속
부모 클래스의 멤버들을 상속 받을 수 있다.
private은 못가져옴.
protected는 상속 받으면 쓸 수 있음.
Final은 못바꿈.
상속은 다양한 변경을 가지기 위해서 사용
Abstact
부모에서 상속받는 객체들은 이 함수를 서술해야한다.
나는 이름만 정할테니 메서드는 니가 써라.
은닉Encapsulation
setName을 이용해서 부모의 name에 접근한다. 부모에서 private 선언을 하면 접근을 못하니까
setName으로 이 객체에서 name을 뭐라고 할지 정하고 getName에서 그 값을 가져온다.
'정보처리기사' 카테고리의 다른 글
[정보처리기사 실기] SQL 주요 명령어 | WHERE |DISTINCT|COUNT|BETWEEN|LIKE|IN|GROUP BY|ORDER BY|SUB QUERY|JOIN|SELF JOIN (0) | 2023.07.16 |
---|---|
[정보처리기사 실기] C언어 포인터 개념 잡기 | 예시 | 문제 | 활용 (0) | 2023.07.14 |
[정치기 실기] 프로그램 활용 코드 예시 문제 | 반복문 | 재귀함수 | 정렬 알고리즘 (0) | 2023.07.11 |
[정처기실기] 프로그래밍 언어 활용 Python 기초 (0) | 2023.07.11 |
파이썬, JAVA, C의 차이 | 각 언어의 특징 (0) | 2023.07.10 |
댓글