본문 바로가기
반응형

전체 글256

Chap_08. 추상 클래스(AbstractClass) 데이터 추상화(Data Abstraction)는 불필요한 정보는 숨기고 꼭 필요한 정보만 공개하는 과정을 말한다. abstract 키워드를 통해 추상클래스와 추상메소드를 생성할 수 있다. 1) 추상클래스 : 아직 완성되지 않은 클래스이기 때문에 객체로 만들수 없고 클래스를 상속해서 구체적으로 동작을 정의해야만 객체로 만들 수 있다. 2) 추상메소드 : 추상클래스 또는 인터페이스에서 사용가능한 껍데기만 있는 메소드이다. 추상클래스는 아래와 같이 abstract 키워드를 추가하여 생성한다. public abstract class Camera { ... } 위와 같이 추상클래스 Camera를 생성하고 다른 클래스에서 Camera 객체를 생성하려고 하면 아래와 같이 오류가 발생된다. 추상 클래스는 아직 완성되지.. 2023. 5. 10.
Quiz. 클래스를 이용하여 햄버거를 자동으로 만드는 프로그램을 작성하시오 클래스를 이용하여 햄버거를 자동으로 만드는 프로그램을 작성하시오. 1. 햄버거의 종류는 햄버거, 치즈버거, 새우버거 3가지이다. 2. 각 버거는 각각의 클래스로 생성한다. 3. 버거 이름을 담기 위한 name 변수를 정의한다. 4. 재료 정보를 표시하는 cook() 메소드를 정의한다. - 햄버거 : 양상추, 패티, 피클 - 치즈버거 : 양상추, 패티, 피클, 치즈 - 새우버거 : 양상추, 패티, 피클, 새우 5. 공통부분은 상속 및 메소드 오버라이딩으로 처리한다. 6. 모든 클래스는 하나의 파일에 정의한다. package chap_07; public class _Quiz_07 { public static void main(String[] args) { HamBurger[] hamBurgers = new .. 2023. 5. 3.
Chap_07. 열거형(Enum) 특수한 형태의 클래스인 열거형에 대해 알아보자. 열거형 (Enum) : 상수들의 묶음으로 아래와 같은 예시들을 열거형으로 만들 수 있다. 1월~12월 달력을 볼 때 고정된 값 : JAN, FEB, MAR ... 옷사이즈 : S, M, L, XL OS 종류 : WIN10, WIN11, MACOS, LINUX ... 해상도 : HD, FHD, QHD, UHD enum Resolution { HD, FHD, UHD } enum 열거형이름 { 열거형의 값 나열 } Resolution이라는 열거형은 HD,FHD,UHD라는 세개의 값을 가진다. - 보통 열거형의 값들은 대문자로 정의한다. 열거형 데이터의 값을 가져올때에는 열거형이름.값 의 형태로 가져온다. (Resolution.HD) 아래와 같이 switch 문을.. 2023. 5. 3.
Chap_07. Final 변수 앞에 final을 붙여서 상수로 선언할 수 있다. Constants 상수 = 변하지않는 값 https://nossodia.tistory.com/186 Chap_01. 자료형과 변수 DataTypes 자료형 문자형, 숫자형, 불린(참/거짓) Variables 변수 int, double, float, long char, String boolean Comments 주석 //한줄 주석 (단축키 ctrl+/ ) /* 여러줄 주석 */ (단축키 ctrl + shift + / ) Constants 상수 변수 앞 nossodia.tistory.com 이번 시간에는 final을 이용하는 사례에 대해 알아보자. final 변수 : 변수 값 변경 불가 final 메소드 : 메소드 오버라이딩 불가 final 클래스 : .. 2023. 5. 2.
Chap_07. Reference 참조 기본 자료형 (Primitive Data Types) int, float, double, long, boolean ... 등 소문자로 시작되는 자료형이다. 기본 자료형에 아무 값도 지정하지않은경우 기본값은 0이다. 가지고 있는 메소드가 없다. 참조 자료형(Non-Primitive, Reference Data Types) String, Camera, SpeedCam .. 대문자로 시작되는 자료형이다. (클래스명 포함) 참조 자료형에 아무값도 입력하지 않은 경우엔 null 로 표현한다. 메소드를 가질 수 있다. 아래 예제를 통하여 기본자료형과 참조자료형의 차이를 이해해보자. 먼저 기본자료형인 int 예제를 살펴보자. b=a 실행 시 변수 b에 a의 값을 적용하고, 이후 a와 b의 값을 변경했을때 a와 b는 .. 2023. 5. 2.
Chap_07. Super 이전 시간에 학습한 상속 예제에서 super를 이용해 부모클래스의 메소드와 생성자를 호출하는 방법에 대하여 공부해보자. 상속 시간에 기본 카메라(Camera), 화재감지카메라(FactoryCam), 속도감지카메라(SpeedCam)을 생성하였다. 그리고 각각 Camera 클래스를 부모클래스로, FactoryCam과 SpeedCam 클래스를 자식클래스로 설정하였다. 부모클래스인 Camera에는 takePicture(), recordVideo(), showMainFeature()메소드가 있었다. public class Camera { public String name; public Camera() { this.name = "카메라"; } //카메라의 기본 기능 메소드로 정의 public void takePic.. 2023. 4. 28.
반응형