포스팅에 앞서 내용이 틀릴 수 있습니다. 해당 부분 지적 감사히 받습니다. 드디어 실전 자바 기본이 끝나고 중급으로 올라왔다. 중급 강의를 결제하고 10% 정도 봤는데 난이도가 올라감을 느낌과 동시에 희열, 절망이 같이 왔다. 슬슬 자바가 기본 제공하는 메서드의 원문에 대해 봐야 하는 것들이 생기는데 아주 낯설다. 진작 보고 공부했어야 했는데 늦은 시작이 항상 아쉽다. 이번 시간엔 Object에 대해 알아보자 자바에는 사실 기본 상속 클래스가 있었다. 바로 Object Class다. 그 말은 즉, Object 타입으로 어떤 객체 타입이든 넣을 수 있다는 것이다. 자바 기본 제공 메서드는 이 Object Class의 요소였으며, 우리는 이것 또한 오버라이딩 해서 입맛대로 바꿀 수가 있었다. 그렇다면 왜 자..
포스팅에 앞서 내용이 틀릴 수 있습니다. 해당 부분 지적 감사히 받습니다. 자바의 OCP원칙에 대해 알아보자 OCP(Open - Closed Principle) 원칙이란Open for extension : 새로운 기능의 추가나 변경 사항이 생겼을 때, 기존 코드는 확장할 수 있어야 한다.Closed for modification : 기존의 코드는 수정되지 않아야 한다. 확장에는 열려있으며, 변경에는 닫혀있어야 한다는 원칙이다. 더 간단히 이야기하면, 새로운 객체가 추가되어도 Main 클래스에서의 아주 작은 코드 추가만이 있지, 기존 상속, 구현 관계에서의 코드 수정이 필요하지 않다는 이야기다. ( 추가된 객체는 당연히 코드 추가 되어야 함.. 기존 돌고 있던 코드를 수정하지 않는다는 것임)
포스팅에 앞서 내용이 틀릴 수 있습니다. 해당 부분 지적 감사히 받습니다. 인터페이스의 다중 구현이다. 원래 자바는 다중 상속을 허용하지 않는다. 그렇다면 인터페이스는 어떻게 다중 구현을 허용할 수 있는 것일까? 이는 메모리관점에서 접근하면 쉽게 이해할 수 있다. 일단 자바에서는 상속을 받은 객체 생성 시 힙영역에 자식과, 연결된 모든 부모의 참조를 힙영역에 적재하게 된다. 하지만 과거에 배웠던 것 중, 오버라이딩된 메서드는 항상 실행 우선권을 가진다고 배웠었다. 이를 통해 인터페이스는 다중 구현을 허용할 수 있는 것이다. 조금 더 자세히 알아보자. 일단 인터페이스에는 기본적으로 기능을 가진 메서드를 구현할 수 없다. 이 인터페이스를 구현한 자식 Class에서는 반드시 메서드 오버라이딩을 진행해야 했기 ..
포스팅에 앞서 내용이 틀릴 수 있습니다. 해당 부분 지적 감사히 받습니다. 자바의 인터페이스에 대해 알아보자. 먼저 인터페이스는 추상 클래스의 모든 메서드가 추상 메서드일 때 사용하면 된다. 사용하는 방법은 파일 생성 시, Class가 아니라 Interface로 생성하여야 한다. 아래 이유를 통해 왜 그런지 알아보자. 인터페이스의 성질 1. 인터페이스의 인스턴스는 생성할 수 없다.2. 상속 시 모든 메서드를 오버라이딩 시켜야 한다.3. 자식에서 여러 개의 인터페이스를 상속받을 수 있다. 원래 자바에서의 상속은 부모를 1명만 둘 수 있었다. 인터페이스를 통하면 여러 명의 부모를 상속받을 수 있다. 이것이 인터페이스의 가장 큰 특징이다. 그렇다면 인터페이스에 대해 조금 더 구체적인 특징에 대해 알아보자...
포스팅에 앞서 내용이 틀릴 수 있습니다. 해당 부분 지적 감사히 받습니다. 오늘은 마음 편히 강의를 보고 싶어 연차를 냈다. 그럼 시작해보자. 이전 시간에 다형성에 대해서 배웠다. 부모 Class를 물려받은 자식 Class는 메서드 오버라이딩을 통해 자식에게 맞는 메서드로 재구현 후 실행하게 된다. 이 과정에서 개발자가 새로운 자식 Class를 만들었지만, 메서드 오버라이딩을 구현하지 않을 실수를 할 수도 있다. 또한, 부모의 역할로 자식들이 공통으로만 사용될 수 있는 요소만 제공하는 부모라면, Main Class에서 인스턴스를 생성할 필요도 없다. 이를 위해 우리는 추상 클래스(Abstract Class)를 사용할 수 있다. 추상 클래스의 역할을 알아보자. 1. 추상 클래스의 추상 메서드는 자식에서 ..
포스팅에 앞서 내용이 틀릴 수 있습니다. 해당 부분 지적 감사히 받습니다. 자바 다형성이다. 다형성이란 뭘까? 다형성(Polymorphism) : 하나의 객체가 다른 타입으로 사용될 수 있다. 다형성이 필요한 예시부터 먼저 이야기해 보자. 자동차라는 부모 Class가 있다. 자동차의 소분에는 경차, 소/중/대, 화물 등등 많은 종류로 다시 분류될 수 있다. 만약 자동차를 관리하는 프로그램이 있었는데, 새로운 자동차 종류가 나왔다고 해보자. 그러면 기존 상속에서는 메인 Class에서 새로운 자동차 종류 객체를 다루는 데 있어서 굉장히 많은 코드 수정이 필요하다. 이를 클린 하게 만들 수 있게 하는 게 다형성이다. 다형성의 특징 2가지에 대해 알아보자. 1. 다형적 참조 : 부모타입의 변수가 자식 인스턴스를..
포스팅에 앞서 내용이 틀릴 수 있습니다. 해당 부분 지적 감사히 받습니다. 드디어 기다리던 상속 파트이다. 자바에서 굉장히 중요한 부분이다. 한번 상속에 대해 알아보자. 상속이란 Class의 요소를 서로 공유할 수 있게 해주는 작업이다. 다만 아래에서 위로의 참조만 가능하다. 즉, 자식만이 부모의 요소에 접근이 가능한 것이다. 이유는 자바의 메모리 영역에서 배운 기초를 생각해 보면 설명이 가능하다. 그래도 설명해 보자면, 자식 Class에서는 extends 키워드를 통해 부모의 정보를 알고 있지만, 부모 Class에는 자식에 대한 정보가 없기 때문에, 참조값에 대한 정보가 없기 때문이다. ( 근데 참조값 넣어주면 될 수도 있지 않나란 궁금증이 생겼지만, 그건 상속관계보단 메모리 직접 참조이기 때문에 나중..
포스팅에 앞서 내용이 틀릴 수 있습니다. 해당 부분 지적 감사히 받습니다. 프로그래밍에서는 초기값이 설정되면 바꿀 필요, 혹은 바꿔서는 안 되는 값이 존재한다. 자바에서는 이럴 경우 final을 사용한다. final에 대해 알아보자. final은 최초 1회만 값을 정해줄 수 있다. class 즉 static 변수 생성 시, 초기값을 할당해주지않으면 0으로 세팅되었다. 하지만 final 변수는 초기값이 한번 설정되고 난 이후에 수정이 불가능하기에, 그냥 final int count ; 형식으로 선언하면 컴파일 오류가 난다. 0을 고정값으로 쓰고싶으면 final int count = 0; 으로 작성해 주면 된다. 또한 관례상 final 변수는 COUNT_NUMBER와 같이 모두 대문자로 작성해주며, 단어 간..
- Total
- Today
- Yesterday
- 백준
- 코딩테스트 준비
- 스프링
- 상품을 구매한 회원 비율 구하기 파이썬
- 기술스택
- zixem
- 김영한 실전 자바 기초
- los 15단계
- samron3
- 김영한 실전 자바 중급
- 자바
- extends
- 백준 피보나치 수열
- 프로그래머스 상품을 구매한 회원 비율 구하기
- los 15
- samron
- 백준 피보나치
- 프로그래머스 상품을 구매한 회원 비율 구하기 파이썬
- 프로그래머스
- static
- 김영한
- java
- 상속
- 김영한 실전 자바 기본
- 코딩테스트
- lord of sql
- webhacking.kr
- spring
- Los
- ys.k
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 |