본문 바로가기

Java

[JAVA]final - Keyword final에 대해 - 1. 변수 앞에 썼을 때 final public final String lens = "광각렌즈"; 해당 변수는 같은 클래스 내에서도 값을 바꿀 수가 없다. (외부 클래스에서도 당연히 못 바꿈.) **그렇다면 무조건 선언과 동시에 초기화를 해야 할까? NO. 생성자를 통해 초기화 시켜도 된다! Why? 생성자를 통해 객체를 생성함과 동시에 final 변수를 초기화 하는 것은, final 변수를 선언과 동시에 초기화 하는 것과 의미가 같다. public class ActionCam extends Camera { public final String lens; //생성자 public ActionCam(){ // 생성자를 이용하여 final 변수 초기화 this.lens =.. 더보기
[JAVA] Super 1.Super란? 자식 클래스에서 부모 클래스의 매소드를 부분적으로 사용 해야 하는 경우가 있을 것이다. 지금까지 들어온 카메라 클래스를 예로 들어보자. **사전 참고 사항 (부모 클래스와 자식클래스)** // 부모 클래스 public class Camera { public String name; public Camera() { this.name = "카메라" } public void takePicture() { // 사진 촬영 System.out.println(this.name + ": 사진을 촬영합니다."); } public void recordVideo() { // 동영상 녹화 System.out.println(this.name + ": 동영상을 녹화합니다."); } public void showM.. 더보기
[JAVA] 다형성(polymorphis) 1. 정의 다형성이란, 하나의 객체가 여러가지 타입을 가질 수 있는 것을 말한다. Java에서는 부모 클래스의 참조 변수가 자식 클래스의 인스턴스를 참조할 수 있도록 하는 것으로 다형성을 구현했다. 만약 Camera class가 factoryCam class의 부모 클래스 라면, //Canera가 부모클래스, factoryCam이 자식클래스 Camera FC = new factoryCam(); 라고 선언이 가능하고, 위의 동작을 그림으로 표현하면 다음과 같다. 만약 참조변수와 일반변수의 차이가 헷갈린다면, 밑의 링크를 참조하자. https://dalcheonroadhead.tistory.com/68 만약 Camera 클래스에 factoryCam, SpeedCam 이라는 자식 클래스가 있다고 했을 때, 다.. 더보기