본문 바로가기
반응형

분류 전체보기203

[자바기초.018] 다형성(Polymorphism) [자바기초.018] 다형성(Polymorphism) [1] 다형성(Polymorphism)이란? 다형성(Polymorphism)은 poly + morphism의 합성어이다. poly: 많은(many) morphism: form(형태) 즉, 다형성(Polymorphism)은 "많은 형태(many form)"라는 뜻으로 직역된다. 자바(Java)에서 다형성(polymorphism)이란, 하나의 객체(object)가 여러 가지 타입(type)을 가질 수 있는 것을 의미합니다. 다형성은 상속, 추상화와 더불어 객체 지향 프로그래밍을 구성하는 중요한 특징 중 하나입니다. 자바에서는 이러한 다형성을 부모 클래스 타입의 참조 변수로 자식 클래스 타입의 인스턴스를 참조할 수 있도록 하여 구현하고 있습니다.(ex: Pa.. 2024. 3. 17.
온라인 비주얼 디버거(Online Visual Debugger) 온라인 비주얼 디버거(Online Visual Debugger) 1.텍스트 코딩 온라인 컴파일러 & 비주얼 디버거 가능한 코딩 언어: Python, Java, C, C++, and JavaScript 링크: https://pythontutor.com/ 2. Java 전용 온라인 비주얼 컴파일러 & 디버거 가능한 코딩 언어: Java 링크: https://cscircles.cemc.uwaterloo.ca/java_visualize/ 2024. 3. 17.
0.미니 프로젝트 기반 HTML&CSS&JS 배우기 미니 프로젝트 기반 HTML&CSS&JS 배우기 Get Coding(https://getcodingkids.com/) 내용 기반으로 HTML&CSS&JS를 배워봅니다. 벽돌을 하나씩 쌓아 집을 만들듯, 작은 프로젝트들을 만들어가며 웹 프론트 코딩을 배우면 재밌게 배울 수 있습니다. 2024. 3. 17.
[자바기초.017] 상속 계층(Inheritance Hierarchies) [자바기초.017] 상속 계층(Inheritance Hierarchies) [1] 상속 계층 하나의 superclass에서 여러 개의 subclass가 상속을 받는 관계일 때, 상속 계층(inheritance hierarchy)로 표시하면 코딩하는 데에 도움이 될 수 있다. 위 그림을 예로 들면, Square is-a Rectangle 이어서 Square 클래스는 Rectangle 클래스의 subclass 입니다. 그리고 Rectangle is-a Shape 이어서 Rectangle 클래스는 Shape 클래스의 subclass 입니다. 자바에서 Object 클래스는 계층(hierarchy)의 가장 꼭대기에 있는 클래스입니다. Object 클래스는 모든 자바 클래스의 최고 조상 클래스가 됩니다. 따라서 자.. 2024. 3. 15.
[자바기초.017] super 키워드 [자바기초.017] super 키워드 [1] super 키워드 subclass는 superclass로부터 상속받은 필드와 메소드를 사용할 수 있습니다. 그런데 subclass가 superclass의 메소드를 재정의 해서 사용하는 "오버라이드(override)"를 했다고 가정했을 때, 만약 superclass의 override된 메소드를 사용하고 싶다면 어떻게 해야 할까요? 이럴 때 바로 super.method()로 superclass의 메소드를 실행할 수 있습니다. [2] super의 2가지 쓰임새 super() / super(arguments): superclass의 생성자(constructor)를 subclass의 생성자 첫 줄에서 실행할 때 사용. super.method() : superclass의.. 2024. 3. 15.
[자바기초.015] 오버라이딩(Overriding) [자바기초.015] 메소드 오버라이딩(Overriding) [1] 메소드 오버라이딩(Method Overriding) 자바에서 자식 클래스는 부모 클래스의 private 멤버를 제외한 모든 메소드를 상속받습니다. 이렇게 상속받은 메소드는 그대로 사용해도 되고, 필요한 동작을 위해 재정의하여 사용할 수도 있습니다. 메소드 오버라이딩(Overriding)이란 상속받은 부모 클래스의 메소드(Method)를 재정의하여 사용하는 것을 말합니다. ◈주의사항◈ -오버라이딩(Overriding): 상속 받은 메소드를 재정의 하는 것(오버라이딩하고자 하는 메소드의 이름, 매개변수, 리턴형(return type) 이 모두 같아야 한다.) -오버로딩(Overloading): 기존에 없는 새로운 메소드를 추가하는 것(메소드의.. 2024. 3. 15.
[자바기초.014] is-a & has-a 관계 [자바기초.014] is-a & has-a 관계 [1] is - a 관계(relationship) is-a 관계는 ~이다 라는 뜻으로 아래와 같은 예시로 이해할 수 있다. "사람은 동물이다", "강아지는 동물이다" is-a 관계는 상속(Inheritance)으로 코딩하는 것이 효율적이다. [2] has - a 관계(relationship) has-a 관계는 ~을 가지고 있다 라는 뜻입니다. has-a 관계는 상속을 사용하지 않고 다른 클래스의 field나 method 등을 가져와서 사용한다. [3] 예제 코드로 is-a & has-a 관계 이해하기 Course, Student, Apcourse 라는 3개의 클래스를 코딩한 아래의 예제 코드를 보세요. 그리고 이 3개 클래스의 관계는 아래 그림과 같습니다... 2024. 3. 14.
[자바기초.013] 상속과 생성자 [자바기초.013] 상속과 생성자 [1] 상속 관계에서 private 변수를 어떻게 다룰것인가? subclass는 자신이 확장하는 superclass에서 public method를 상속하지만 superclass의 private instance variable에 직접 액세스할 수는 없습니다. 그리고 subclass는 superclass의 생성자(constructor)를 상속하지 않습니다. 하지만 상속된 인스턴스 변수는 적절하게 초기화되어야 합니다. 그렇지 않으면 상속된 메서드(method) 중 어느 것도 제대로 작동하지 않을 것입니다. 그렇다면 subclass가 superclass의 private variable을 어떻게 초기화할 수 있을까요? [예제1] 아래의 상속 관계를 가지는 코드를 보고 생성자 부분.. 2024. 3. 13.
[자바기초.012] 상속(Inheritance) [자바기초.012] 상속(Inheritance) [1] 상속(Inheritance) 란? Object-Oriented programming에서 가장 큰 특징 중 하나가 상속(Inheritance)이다 일상 생활속에서 "상속"은 부모로부터 재산을 "상속 받는다"라고 할때 사용되는데, 자바에서도 그 의미가 비슷하다. 자바에서 모든 클래스(Class)는 attributes (instance variables / field) 와 behaviors (methods)를 다른 클래스로부터 상속받을 수 있다. 상속을 준 클래스는 "parent class or superclass"라고 하고, 상속을 받은 클래스는 "child class or subclass" 라고 부른다. 클래스 상속을 받기 위해서 Java keywor.. 2024. 3. 13.
728x90
반응형