소스범벅
close
프로필 배경
프로필 로고

소스범벅

  • All (81)
    • ✨ Programming (21)
      • Java (3)
      • Spring (8)
      • Architecture (1)
      • Tool (8)
      • 문제&버그 (1)
    • ✨ Algorithm (55)
      • 백준 (31)
      • 프로그래머스 (24)
      • 개념 (0)
    • ✨ CS (2)
      • 자료구조 (0)
      • 운영체제 (0)
      • 네트워크 (2)
      • 데이터베이스 (0)
    • ✨ 독서 (3)
  • 깃허브
  • 방명록
[Java] 오버라이딩과 @Override

[Java] 오버라이딩과 @Override

오버라이딩이란? 부모 클래스의 메서드를 자식 클래스에서 재정의하는 것 부모 클래스의 메서드 선언부와 같아야 한다. 오버라이딩하면 기존과 다른 기능으로 구현할 수 있다. 자동 타입 변환되면 부모 클래스나 인터페이스의 메서드가 호출되지만, 오버라이딩된 메서드가 있으면 오버라이딩된 메서드가 호출된다. @Override 기재는 필수일까? 컴파일 시 강력한 체크를 위해 어노테이션을 기재하는 게 좋다고 생각한다. 하지만 어노테이션을 기재하지 않아도 코드는 실행된다. 코드 상 오류가 있을 때, 컴파일 에러 없이 의도와 다르게 실행되는 건 함정...😨 코드로 살펴보기 @Override ❌ 아래 예시의 본래 의도는 Child 클래스의 오버라이딩한 hello()를 호출하는 것이다. 하지만 매개 변수 String name의..

  • format_list_bulleted ✨ Programming/Java
  • · 2023. 7. 27.
  • textsms
[Java] 인터페이스가 가지고 있는 객체 지향의 특징

[Java] 인터페이스가 가지고 있는 객체 지향의 특징

인터페이스가 가지고 있는 객체 지향의 특징 캡슐화, 추상화, 다형성, 상속성 모두를 가지고 있다고 생각한다. Why? 캡슐화 인터페이스를 구현한 구현 객체를 통해 필드와 메서드를 캡슐화할 수 있다. 추상화 공통적인 속성을 뽑아 인터페이스의 추상 메서드로 표현하고, 구체적인 속성은 구현 클래스에서 추상 메서드를 오버라이딩해서 구현할 수 있다. 다형성 인터페이스를 구현한 구현 객체는 인터페이스 타입으로 자동 타입 변환할 수 있기 때문에 다양한 결과를 만들 수 있다. 상속성 인터페이스는 extends 할 수 있다. 추상 클래스와는 다르게 다중으로 상속이 가능하다. 인터페이스와 인터페이스를 구현하는 구현 클래스 관계 자체가 상속 관계라 볼 수 있다.

  • format_list_bulleted ✨ Programming/Java
  • · 2023. 7. 25.
  • textsms
[Java] 객체 지향의 4가지 특징

[Java] 객체 지향의 4가지 특징

객체 지향의 4가지 특징 캡슐화 객체의 필드와 메서드를 은닉하는 것 불필요한 접근을 방지할 수 있다. 데이터의 잘못된 변경을 방지할 수 있다. public class Person { private String name; private int age; public Person(String name, int age) { if(name != null) { this.name = name; } if(age >= 0) { this.age = age; } } public void eat() { System.out.prinlt("음식을 먹다."); } public void sleep() { System.out.prinln("잠을 자다."); } } 추상화 공통적인 것을 뽑아낸 것 ex) 소리를 내다(추상적) 꽥꽥 소리..

  • format_list_bulleted ✨ Programming/Java
  • · 2023. 7. 24.
  • textsms
  • navigate_before
  • 1
  • navigate_next
전체 카테고리
  • All (81)
    • ✨ Programming (21)
      • Java (3)
      • Spring (8)
      • Architecture (1)
      • Tool (8)
      • 문제&버그 (1)
    • ✨ Algorithm (55)
      • 백준 (31)
      • 프로그래머스 (24)
      • 개념 (0)
    • ✨ CS (2)
      • 자료구조 (0)
      • 운영체제 (0)
      • 네트워크 (2)
      • 데이터베이스 (0)
    • ✨ 독서 (3)
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바