본문 바로가기

전체 글

(46)
JAVA - 접근제어자 접근제어자 ● public - 모든 클래스에서 접근 가능. 즉, 접근 제약이 없음. ● protected - 같은 패키지 내의 클래스 또는 상속관계에서 접근 가능. ● default - 접근제어자를 별도로 설정하지 않을 경우 default가 접근제어자로 설정됨. 같은 패키지 접근 가능 ● private - 같은 클래스 안에서 접근 가능 제어자 같은 클래스 같은 패키지 상속 전체 public 가능 가능 가능 가능 protected 가능 가능 가능 default 가능 가능 private 가능 접근 제어자를 설정하는 이유 : 외부에서의 접근을 막고 싶은 경우 private 설정을 통해 가능함 : 즉, 정보 은닉이 가능해짐 주로 public과 private이 많이쓰임 위의 예시같은 경우는 차례대로 Phone →..
JAVA - 상속/ 다형성/ 인터페이스/ instance 상속(extends)이란? ● 클래스와 부모 클래스와 자식 클래스로 나뉨 ● 부모 클래스의 속성(필드)과 기능(메서드)을 그대로 이어받아 사용할 수 있게 함 ● 일부분을 변경해야 하는 경우 상속받은 자식클래스에서 해당기능만 다시 수정하여 사용할 수 있게함 ● 1:1로만 상속 가능 ● PRIVATE을 갖는 필드나 메소드, 패키지가 다를 경우 접근제어자가 default인 경우 상속 불가능함 ● public, protected까지만 상속 가능함 선언 방법 : class (자식)클래스명 extends (부모)클래스명 { } 위의 예시는 페르시안캣이 Cat을 상속받음 => 부모 메소드 재정의도 가능함 *super 은 뭘까? : 자식클래스에서 부모클래스를 가리킬 때 사용하는 키워드(저 예제에서는 Cat이 super..
JAVA - 추상클래스/ 자바 메모리 구조(JVM Runtime Data Area) 추상클래스란? ● 구현되지 않은 추상 메소드가 존재함 ● 정의만 하고 구현X ● 미완성 클래스 ● 미완성 메소드를 가지고 있음 ● 상속을 받고 반드시 오버라이딩 해야함 ● 객체를 생성할 수 없음 Method Area(메서드 영역) 메소드 영역은 클래스 파일의 바이트 코드가 로드되는 곳 : 프로그램을 키면 메인 메소드를 호출하며 프로그램 시작 클래스와 static, 상수 등이 메소드 영역에 올라옴 여기서 static이란? ● static을 사용한다는 의미는 모든 객체가 공유한다는 의미임 - static 영역에 할당된 메모리는 모든 객체가 공유하여 하나의 멤버를 어디서든 참조할 수 있음 ● static이 붙은 메소드들은 객체들의 데이터와 관계없는 공통적인 로직을 정의할 때 사용함 ● 프로그램이 종료되기 전까..