본문 바로가기

분류 전체보기191

[Java] 자바 : 메소드 오버로딩(Overloading) vs 메소드 오버라이딩(Overiding) 차이점? 메소드 오버로딩(Overloading)과 메소드 오버라이딩(Overriding) 한 번에 이해하기 본론으로 가기전, 명확한 개념을 딱 집어서 이해하기 보다는 그림으로 이해하는것이 가장 쉽습니다. 또한 기준이 되는 것은 클래스 1개의 내부에서 일어나는 일인지 혹은 2개 이상의 클래스에서 발생하는지를 기준으로 접근하시면 쉽습니다. 또한 영어단어를 기반으로 이해하기 보다는, 클래스 상에서 어떻게 쓰이는지 중점적으로 보고 머리에 그림을 그리며 이해하면 쉽습니다. [ 판단 기준 ] - 클래스 1개에서 일어나는가? - 2개 이상의 클래스에서 일어나는가? * 오버로딩(Overloading) 한 클래스(n=1)내에 똑같은 이름의 메소드를 여러 개 선언 하는 것. class ONE{ ... ... void upgrade.. 2021. 3. 18.
[Java] 자바 : (상속) 업 캐스팅 개념? 영어 단어 뜻 Upcasting의 의미란 무엇인가? * casting 무언가를 선정한다는 의미이며 길거리 케스팅을 생각하면 쉽게 이해 할 수 있다. 그런 케스팅을 기반으로 위를 나타내는 Up이 추가되었다. 그럼 최종적으로 위에거를 선택한다 라는 뜻이 된다. 그렇다면 자바상에서 업케스팅이란? 클래스 기반으로 이루어져있는 자바에서 "상속"이라는 개념속에서 등장한다. 즉, 부모 클래스의 타입을 그대로 물려받는다는 뜻이다. 이 말의 의미는 최소 2개 이상의 클래스가 있어야 성립이 된다. 그렇다면 왜 쓸까? 다양한 객체들을 부모의 타입으로 관리 할 수가 있기 때문이다. 예를들어 Problem) : 중복되는 코드가 넘쳐난다. Horse h = new Horse(); Lion l = new Lion(); Cat c .. 2021. 3. 18.
[Java] 자바 : 햇갈리는 this? 원리로 이해하는 개념 자바를 공부하다보면 this라는 것이 나온다. 이는 파이썬에서 self와 비슷하다. 하지만 왜 쓰는지 이유가 햇갈릴 때가 있다. 어떠한 개념이 나왔다는 것은 어떠한 문제점이 발생하여 해당 개념을 도입했다는 것이다. 발생한 문제점이 무엇인지 먼저 살펴보자. Problem) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 class Main { public static void main(String args[]) { User u = User("회원1", 1); } } class User { private String name; private int num; public User(String name, int num){ name = name; num = num; } } cs * 실행 로직 1... 2021. 3. 17.
[Java] 자바 : 접근 제한자 private을 우회적으로 접근하는 getter, setter 이해하기 2021.03.17 - [* Language/Java] - [Java] 자바 : 접근 제한자 큰 그림 이해하기 [Java] 자바 : 접근 제한자 큰 그림 이해하기 자바를 공부하다 보면 접근제한자라는 개념이 나온다.(public, private, default, protected) 이 접근제한자를 전체 큰 틀에 맞춰 빠르게 이해해보자. 접근제한자란 무엇인가? 공개 범위를 결정하는 하나 codinglevelup.tistory.com 이전 글에서 자바 전체에서 다루는 접근제한자에 대한 전체 큰 틀을 잡아봤다. 이 중 private에 대한 이해를 해볼려고 한다. 생각 해보기 private을 통하면 완전 비공개를 통해 어떠한 외부에도 공개를 하지 않는다. 하지만 인가된 사람이 접근을 할려고 할 때는 어떻게 해야 .. 2021. 3. 17.
[Java] 자바 : 접근 제한자 큰 그림 이해하기 자바를 공부하다 보면 접근제한자라는 개념이 나온다.(public, private, default, protected) 이 접근제한자를 전체 큰 틀에 맞춰 빠르게 이해해보자. 접근제한자란 무엇인가? 공개 범위를 결정하는 하나의 장치 잠금장치를 생각하면 쉽다. 외부인의 차단을 막기 위한 하나의 잠금체계이면서 인가된 사람은 접근을 허용 왜 사용 할까? 말 그대로 접근을 제한한다는 의미이다. 즉 인가되지 않은 사람에게 공유하고 싶지 않는 데이터를 보호함이다. 혹은 인가된 정보끼리는 접근을 허용하겠다는 의미다. 그래서 접근제한자의 종류와 정의를 한다면? public : 완전히 공개하겠다. : 다른 패키지에서 사용가능하도록 하겠다.(클래스, 인터페이스 등 외부로 공개 하는 역할) : But, 패키지를 외부 공개 했.. 2021. 3. 17.