검수요청.png검수요청.png

"파이널"의 두 판 사이의 차이

위키원
이동: 둘러보기, 검색
(특징)
(특징)
6번째 줄: 6번째 줄:
 
===이용 방법===
 
===이용 방법===
 
====클래스====
 
====클래스====
클래스에서 파이널(final)을 사용하게되면 그 클래스는 최종상태가 되어 더이상 상속이 불가능하다. <ref name="코딩팩토리">〈[https://coding-factory.tistory.com/525 자바 final의 의미와 사용법]〉, 《개인사이트》, 2020-04-23 </ref> 즉, 선언된 클래스 그대로 사용해야한다. 상속이 불가능하기 때문에 서브클래스도(subclass)도 생성할 수 없다.  <ref name="Oh! My Library">〈[https://library1008.tistory.com/1 Java final 키워드]〉, 《개인블로그》, 2015-02-14</ref> 주로 상수 클래스나 Util형식의 클래스를 final로 선언해서 사용한다. <ref name="Frank's blog">〈[https://blog.advenoh.pe.kr/java/%EC%9E%90%EB%B0%94%EC%97%90%EC%84%9C-final%EC%97%90-%EB%8C%80%ED%95%9C-%EC%9D%B4%ED%95%B4/ 자바에서 final에 대한 이해]〉, 《개인블로그》, 2018-09-11</ref>
+
[[클래스]](class)에서 파이널(final)을 사용하게되면 그 클래스는 최종상태가 되어 더이상 상속이 불가능하다. <ref name="코딩팩토리">〈[https://coding-factory.tistory.com/525 자바 final의 의미와 사용법]〉, 《개인사이트》, 2020-04-23 </ref> 즉, 선언된 클래스 그대로 사용해야한다. 상속이 불가능하기 때문에 서브클래스도(subclass)도 생성할 수 없다.  <ref name="Oh! My Library">〈[https://library1008.tistory.com/1 Java final 키워드]〉, 《개인블로그》, 2015-02-14</ref> 주로 상수 클래스나 Util형식의 클래스를 final로 선언해서 사용한다. <ref name="Frank's blog">〈[https://blog.advenoh.pe.kr/java/%EC%9E%90%EB%B0%94%EC%97%90%EC%84%9C-final%EC%97%90-%EB%8C%80%ED%95%9C-%EC%9D%B4%ED%95%B4/ 자바에서 final에 대한 이해]〉, 《개인블로그》, 2018-09-11</ref>
  
;예시
+
;예제
 
  // 클래스를 final로 선언
 
  // 클래스를 final로 선언
 
  final class Coding {
 
  final class Coding {
18번째 줄: 18번째 줄:
  
 
====메소드====
 
====메소드====
 +
[[메소드]](method)에서 파이널(final)을 사용하게 되면 상속받은 클래스에서 [[오버라이딩]](overriding)이 불가능하다. <ref name="Oh! My Library"></ref> 즉, 상속받은 클래스에서 부모의 final 메서드를 재정의할 수 없다. 자신이 생성한 메서드를 변경할 수 없게끔 하고싶을때 사용하며 시스템의 코어부분에서 많이 구현되고 있다. <ref name="코딩팩토리"></ref>
 +
 +
;예제
 +
// 메소드를 final로 선언
 +
class Coding {
 +
    String coding_language = "JAVA";
 +
    public final void print() {
 +
        System.out.println( coding_language + "는 프로그래밍 언어이다.");
 +
    }
 +
}
 +
// final로 선언된 메소드 사용
 +
class test_Coding extends Coding{
 +
    String coding_language = "C";
 +
    // 오버라이딩 불가능
 +
    public void print() {
 +
    }
 +
}
  
 
====변수====
 
====변수====
 +
변수
 +
 +
 
{{각주}}
 
{{각주}}
  

2020년 8월 18일 (화) 10:51 판

파이널(final)이란 객체 지향 프로그래밍(OOP)에서 더이상 확장하거나 변경할 수 없는 마지막 단계의 클래스메소드 또는 변수에 사용하는 제어자이다. '파이널'이라고 읽는다.

개요

특징

이용 방법

클래스

클래스(class)에서 파이널(final)을 사용하게되면 그 클래스는 최종상태가 되어 더이상 상속이 불가능하다. [1] 즉, 선언된 클래스 그대로 사용해야한다. 상속이 불가능하기 때문에 서브클래스도(subclass)도 생성할 수 없다. [2] 주로 상수 클래스나 Util형식의 클래스를 final로 선언해서 사용한다. [3]

예제
// 클래스를 final로 선언
final class Coding {
   String coding_language = "JAVA";
}
// 상속 불가능
class test_Coding extends Coding{
}

메소드

메소드(method)에서 파이널(final)을 사용하게 되면 상속받은 클래스에서 오버라이딩(overriding)이 불가능하다. [2] 즉, 상속받은 클래스에서 부모의 final 메서드를 재정의할 수 없다. 자신이 생성한 메서드를 변경할 수 없게끔 하고싶을때 사용하며 시스템의 코어부분에서 많이 구현되고 있다. [1]

예제
// 메소드를 final로 선언
class Coding {
   String coding_language = "JAVA";
   public final void print() {
       System.out.println( coding_language + "는 프로그래밍 언어이다.");
   }
}
// final로 선언된 메소드 사용
class test_Coding extends Coding{
   String coding_language = "C";
   // 오버라이딩 불가능
   public void print() {
   }
}

변수

변수


각주

  1. 1.0 1.1 자바 final의 의미와 사용법〉, 《개인사이트》, 2020-04-23
  2. 2.0 2.1 Java final 키워드〉, 《개인블로그》, 2015-02-14
  3. 자바에서 final에 대한 이해〉, 《개인블로그》, 2018-09-11

참고자료

같이 보기


  검수요청.png검수요청.png 이 파이널 문서는 프로그래밍에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.