상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
수정하기 - 자바에서 super 키워드의 역할은 무엇인가요?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
`super` 키워드는 <a href='https://sangseek.com/sangseeks/자바/ko'>자바</a>에서 상속 관계에 있는 클래스들 간의 상위 클래스(부모 클래스)와 하위 클래스(자식 클래스) 간의 상호작용을 가능하게 해주는 중요한 키워드입니다. `super` 키워드는 여러 가지 용도로 사용되며, 주로 다음과 같은 역할을 합니다. 1. 상위 클래스의 생성자 호출하위 클래스의 생성자에서 상위 클래스의 생성자를 호출할 때 `super` 키워드를 사용합니다. 이는 하위 클래스가 인스턴스화될 때 상위 클래스의 필드와 메서드가 올바르게 초기화되도록 보장합니다. `super()`를 사용하여 상위 클래스의 <a href='https://sangseek.com/sangseeks/기본 생성자/ko'>기본 생성자</a>를 호출하거나, `super(매개변수)`를 사용하여 특정 매개변수를 가진 생성자를 호출할 수 있습니다.```javaclass Parent { Parent() { System.out.println("Parent constructor called"); }}class Child extends Parent { Child() { super(); // Parent 클래스의 생성자를 호출 System.out.println("Child constructor called"); }}``` 2. 상위 클래스의 메서드 호출하위 클래스에서 상위 클래스의 메서드를 오버라이드(재정의)한 경우, `super` 키워드를 사용하여 상위 클래스의 메서드를 호출할 수 있습니다. 이는 하위 클래스에서 상위 클래스의 기능을 확장하거나 수정하면서도 원래의 기능을 <a href='https://sangseek.com/sangseeks/유지/ko'>유지</a>하고 싶을 때 유용합니다.```javaclass Parent { void display() { System.out.println("Display from Parent"); }}class Child extends Parent { void display() { super.display(); // Parent 클래스의 display() 메서드 호출 System.out.println("Display from Child"); }}``` 3. 상위 클래스의 필드 접근하위 클래스에서 상위 클래스와 동일한 이름의 필드를 정의한 경우, `super` 키워드를 사용하여 상위 클래스의 필드에 접근할 수 있습니다. 이는 필드의 이름이 충돌할 때 유용합니다.```javaclass Parent { int value = 10;}class Child extends Parent { int value = 20; void displayValues() { System.out.println("Child value: " + value); // Child의 value System.out.println("Parent value: " + super.value); // Parent의 value }}``` 4. 다중 상속과의 관계자바는 다중 상속을 지원하지 않지만, 인터페이스를 통해 다중 상속의 효과를 낼 수 있습니다. `super` 키워드는 인터페이스의 메서드 호출에도 사용될 수 있으며, 이 경우 특정 인터페이스의 메서드를 명시적으로 호출할 수 있습니다. 5. 코드 가독성 및 유지보수`super` 키워드를 사용함으로써 코드의 가독성을 높이고, 유지보수를 용이하게 할 수 있습니다. 상위 클래스의 메서드나 필드를 명확히 구분하여 사용할 수 있기 때문에, 코드의 의도를 명확히 전달할 수 있습니다. 결론`super` 키워드는 자바에서 상속을 활용할 때 매우 중요한 역할을 합니다. 상위 클래스의 생성자 호출, 메서드 호출, 필드 접근 등 다양한 용도로 사용되며, 이를 통해 객체 지향 프로그래밍의 핵심 개념인 상속을 효과적으로 구현할 수 있습니다. `super` 키워드를 적절히 활용하면 코드의 재사용성을 높이고, 코드 구조를 명확하게 유지할 수 있습니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기