게시글
질문&답변
노드와 연결1 - 질문
질문과는 별개의 내용입니다.이전 강의에서 나온 배열은기본 배열과 List배열입니다.두 배열은 같은 특징을 갖고있지만 List 배열은 기본 배열의 단점을 해결하고자 나온 대안책이라고 느껴집니다.이번 강의에서는 대안책으로 나온 List배열에서 조차 또다른 문제점을 갖고 있는데 이 문제를 해결하고자 새로운 배열을 제시한거 같습니다.그리고 새로운 배열에서 사용하는 방식을 "노드"라는 개념을 통해 설명하시는거 같습니다.즉, 노드는 그저 새로운 배열을 배우기 위한 선행 개념 같은 느낌으로 이해하면 될거같습니다. 그리고질문 주신 내용에 대해서 답변드리자면,[String 클래스] 에서 제시하는자바의 "문자열"을 다루는 방법을 학습하는 내용과는 현 챕터는 완전 별개의 내용입니다. 또한 같은 강의 챕터에서 나왔지만 StringBuilder와 MethodChaining은 서로 상관 없는 내용입니다.StringBuilder는 기존 String클래스의 단점을 보안하기 위해 나온 새로운 대안책이며, MethodChaining은 String과는 별개로 가독성을 증가시키기 위한 코드 작성 기법의 느낌입니다.MethodChaining이 어떻게 이뤄지는지 이해하시면, 자연스럽게 Node와 StringBuilder가 어떻게 다른지 이해하실겁니다.간단하게 설명하겠습니다.핵심은 메서드에 있습니다. 메서드는 결과로 원하는 값을 리턴할 수 있습니다.리턴이 없으면 void를 명시하고 리턴이 있으면 "타입"을 명시합니다.append라는 메서드를 사용하면 String 타입의 객체를 리턴합니다.여기서 메서드 체이닝 기법을 사용하여, 어차피 리턴되는 객체도 String타입이기 때문에 append를 사용할 수 있으니그냥 append().append().append(). 이렇게 코딩하는 방법을 사용한거 뿐입니다.node의 경우도 동일합니다. 단지 메서드를 사용하는게 아닌 필드값을 비슷한 코딩 방식으로 적어놓은거 뿐입니다. " . " 이 기호는 포함 관계를 나타냅니다.first.next는 first가 갖고있는 next 필드값을 나타냅니다.메서드도 동일하게 사용가능합니다.StringBuilder sb 라는 인스턴스가 있다고 합시다.sb.append()는 sb라는 객체가 갖고있는 append() 메서드를 말합니다.
- 0
- 2
- 162
질문&답변
abstract클래스의 인스턴스 생성
추상 클래스의 단일 인스턴스 생성은 불가능하지만자식 클래스 인스턴스가 있는 메모리 주소. 즉, 참조값에는 자식 클래스의 데이터와 부모 클래스의 데이터가 존재합니다.미완성 이지만, 그래도 완성될 수 있는 부분은 데이터로써 실제로 메모리를 차지하고 있는거죠.헷갈리신 개념이 저랑 비슷해서 덧붙이자면,자식 클래스가 생성되면, 하나의 참조 주소를 받습니다. 그 참조 주소 안에 부모 클래스 데이터가 있는 것이지부모 클래스도 인스턴스가 생성되는 것ㄹ은 아닙니다. 인스턴스가 생성되면 참조 주소를 할당 받아야 하는데상속 개념에서는 하나의 참조 주소 안에 부모 클래스와 자식 클래스의 데이터가 존재한다고 생각합니다.인스턴스가 생성되면 그 인스턴스가 지낼 수 있는 메모리 상의 집을 받는다고 생각한다면, 자식 클래스를 생성하면서 자동으로 만들어지는 부모 클래스는 자식 클래스 집에 같이 존재한다고 생각하면 될거같아요.
- 1
- 3
- 404