개발일지

[면접] Final keyword 와 Access Modifier 본문

면접/Java

[면접] Final keyword 와 Access Modifier

딸기아사이레모네이드리프레셔 2024. 2. 28. 13:55
728x90

목차

    💡 Final keyword


    final 제어자는 변수를 선언할 때만 지정할 수 있으며, final 변수는 한 번 대입된 값을 수정할 수 없다.

    즉, 한 번 대입된 값이 최종 값이 되는 셈이다.

    • final class : 다른 클래스가 상속 받지 못한다.
    • final method : 자식 클래스에서 상위 클래스의 final method를 오버라이드하지 못한다.
    • final variable : 변하지 않는 상수 값이 되어 새롭게 값을 할당할 수 없는 변수가 된다. 

    💡접근제어자


    접근제어자 범위
    public - 어떤 클래스에서라도 접근이 가능
    - private 멤버와 프로그램 사이의 인터페이스 역할 수행
    protected 클래스가 정의되어 있는 해당 패키지 + 상속받은 외부 패키지의 클래스
    default 클래스가 정의되어 있는 해당 패키지 내에서만 접근
    private 정의된 해당 클래스에서만 접근

     

    ✔️private 멤버와 프로그램 사이의 인터페이스 역할 수행?

    public class Example {
        private int privateVariable;
    
        // Constructor
        public Example(int value) {
            this.privateVariable = value;
        }
    
        // Public method to get the value of privateVariable
        public int getPrivateVariable() {
            return this.privateVariable;
        }
    
        // Public method to set the value of privateVariable
        public void setPrivateVariable(int value) {
            this.privateVariable = value;
        }
    }
    
    public class Main {
        public static void main(String[] args) {
            // Create an object of Example class
            Example exampleObject = new Example(10);
    
            // Access private variable using public method
            int value = exampleObject.getPrivateVariable();
            System.out.println("Value of privateVariable: " + value);
    
            // Set new value to private variable using public method
            exampleObject.setPrivateVariable(20);
    
            // Access private variable again to see the updated value
            value = exampleObject.getPrivateVariable();
            System.out.println("Updated value of privateVariable: " + value);
        }
    }

    Example 클래스의 private 변수인 privateVariable에 접근하기 위해 public으로 선언된 getPrivateVariable() 및 setPrivateVariable() 메소드를 사용한다. 이를 통해 private 변수에 간접적으로 접근하여 값을 가져오거나 설정할 수 있다. 

    728x90

    '면접 > Java' 카테고리의 다른 글

    [면접] 얕은 복사와 깊은 복사  (0) 2024.02.29
    [면접] Wrapper Class  (0) 2024.02.29
    [면접] Annotation과 Generic이란?  (0) 2024.02.27
    [면접]Java의 Collection Framework  (1) 2024.02.26
    [면접]JVM에 대해 알아보자  (1) 2024.02.26
    Comments