본문 바로가기
반응형

다형성4

자바와 객체 지향 Preface 이번 장에선 객체 지향의 4대 특성을 알아봤다. '이것이 자바다' 책을 공부하며 이미 한 번 학습했던 내용이지만, 중간중간 기억이 잘 나지 않는 부분도 있었다. 아무래도 자바의 상속, 인터페이스, 접근제한자와 관련된 내용은 복습이 필요할 것 같다. 그래도 이것저것 공부한 개념이 많아져서 그런지 처음 객체 지향을 공부했을 때 보단 훨씬 이해가 잘 되고 쉽게 느껴졌다. 특히 추상화와 다형성의 개념을 코드를 통해 이해할 수 있게 된 것 같다. - 객체 지향은 인간 지향이다. → 객체 지향은 직관적이다. - 객체 지향의 4대 특성 1) 캡슐화(Encapsulation): 정보 은닉 2) 상속(Inheritance, Extends): 재사용 3) 추상화(Abstraction): 모델링 4) 다형성(.. 2023. 8. 31.
인터페이스 Preface 이번 장에선 인터페이스의 정의와 사용 방법 등을 공부했다. 인터페이스는 상속 파트에서 클래스 타입을 매개 변수로 사용했던 것과 비슷한 방식으로 다형성 특성을 구현하는 것 같다는 생각이 들었다. 추상 메소드, instanceof 연산자, 매개 변수의 타입 등 지난 장에서 이미 공부했던 내용이 대부분이라 이해하기 어려운 부분은 없었던 것 같다. 다만 코드를 작성할 때 사용해야 할 키워드가 점점 다양해져서 헷갈릴 때가 종종 있다. 1. 인터페이스의 사용 - 인터페이스: 객체의 사용 방법을 정의한 타입 1) 개발 코드와 객체가 서로 통신하는 접점 역할을 한다. 2) 개발 코드를 수정하지 않고 사용 객체를 변경할 수 있다. → 객체 종류에 따라 실행 내용과 리턴값이 달라진다. - 인터페이스 선언 방.. 2023. 3. 14.
상속 Preface 11월 중순에 시작했던 상속 파트를 이제서야 마쳤다. 상속 자체는 어려운 부분이 없었지만, 다형성을 코드로 구현하는 것이 조금 복잡했다. 책의 초반부에서 다형성에 관한 내용을 글로만 읽었을 땐 해당 특성이 무엇을 의미하는 것인지 정확히 알 수 없었는데 직접 코드로 구현해보니 다형성이 어떤 특성이고 왜 객체지향 프로그래밍의 장점으로 소개되는지 조금은 이해할 수 있었다. 1. 상속의 개념 - 부모 클래스는 상위 클래스, 자식 클래스는 하위 클래스 또는 파생 클래스라고 부른다. - 부모 클래스에서 private 접근 제한을 갖는 필드와 메소드는 상속 대상에서 제외된다. - 부모 클래스와 자식 클래스가 다른 패키지에 존재한다면 default 접근 제한을 갖는 필드와 메소드도 상속 대상에서 제외된다.. 2023. 3. 8.
디자인 패턴 Preface 이번 장에선 복잡한 구조의 설계를 보다 쉽게 수행할 수 있도록 돕는 디자인 패턴에 대해 공부했다. 사전적 정의는 앞서 말한 것처럼 '보다 쉬운 설계를 위한 하나의 도구'라고 할 수 있지만, 이 도구가 과연 초보 개발자들에게도 유용할까? 나는 오히려 반대라고 생각한다. 만약 프로그래밍의 기초 단계만 알고 있는 초보 개발자들이 패턴을 사용하여 코딩을 하게 되면 수정하고 싶은 부분을 찾거나 원하는 출력물을 얻는 것이 오히려 복잡하게 느껴지지 않을까? 즉, 디자인 패턴을 유용하게 사용하기 위해선 어느 정도의 개발 지식과 코딩 실력이 필수적이며, 많은 경험을 필요로 한다고 생각한다. - 패턴 : 자주 발생되는 문제들을 해결하고자 할 때 일정하게 반복되는 솔루션 - 무아레 패턴(moire patter.. 2021. 6. 22.