본문 바로가기

자바53

Static 키워드 알아보기 안녕하세요! 오늘은 static 이라는 키워드에 대해서 알아보고자 합니다. 먼저 간략하게 특징을 정리해보자면, - 용도: 특정한 class에서 공통으로 사용하는 variables나 methods에 붙임. 메모리 관리를 위함. - 사용 위치: variables, methods, blocks, and nested classes - 특징: class의 instance 보다는 class 자체에 속함. 동일한 class의 instance들이 공유하는 constant variable 이나 method에 사용. 출처: https://www.geeksforgeeks.org/static-keyword-java/ 이렇게 정리될 수 있겠습니다. 그런데 이렇게만 보니 무슨 말인지 잘 모르겠더라구요 ㅎㅎ 제가 지금까지 이해한 .. 2022. 5. 12.
Inner Class - Anonymous class(익명 클래스) 이번에는 Anonymous class에 대해서 알아보려고 합니다. 직역하면 익명 클래스인데요, 말 그대로 이름이 없는 클래스입니다. 지난번에 알아본 local class와 기능은 유사하지만 다만 이름이 없다는 특징이 있습니다. 따로 이름을 붙이지 않기 때문에 선언과 생성이 동시에 이루어지게 됩니다. 버튼에 쓰이는 이벤트 핸들러(event handler)에 주로 사용이 된다고 합니다. 애플리케이션을 보면 한 화면에 여러 가지 버튼이 있는데, 이전 페이지로 가기, 확인 버튼, 글 상단으로 가기 등 각 버튼이 수행하는 기능이 다릅니다. 그럴 때 기능마다 클래스 파일을 따로 만들기 보다는 익명 클래스를 사용해서 간편하게 기능을 구현하는 것입니다. 제가 수강하고 있는 udemy강의에서 활용한 예시로 한 번 살펴보.. 2022. 5. 10.
Inner class - local class 안녕하세요! 이번에는 nested class 중에 하나인 local class에 대해서 알아보겠습니다. Local class의 경우는 block 내부에 정의됩니다. Block이라고 하면 instance block*, static block*, constructor, method, for loop이나 if 문 block등이 있습니다. (*instance block과 static block은 다음에 한 번 자세히 알아보겠습니다.) 지역변수(local variable)처럼 정의되어 있는 block의 내부에서만 사용이 가능하여, 보통 선언 후에 바로 객체를 생성해서 사용하게 됩니다. 사용할 수 있는 범위가 정의되어 있는 block에만 한정되기 때문에 사용 빈도가 높지 않다고 합니다. 사용 방법 아래 코드를 보시.. 2022. 5. 9.
Inner class 알아보기 Inner class(내부 클래스)는 단어에서 알 수 있다시피 클래스나 인터페이스 내부에 선언된 클래스를 의미합니다. 정확히 구분하면 Java에는 크게 4가지 종류의 nested class가 있는데 (nested라고 하면 어떤 물체 안에 들어가 있는 형태를 이야기 합니다. 어찌보면 단어의 의미 자체는 inner랑 유사하죠) 바로 static nested class, non-static nested class, local class, anonymous class 입니다. 이 중에서 non static nested class가 inner class 입니다. Inner class는 outer class(외부 클래스) 안에 선언되어 있는 클래스 입니다. class OuterClass { class InnerCl.. 2022. 5. 9.
Class(5)-Encapsulation(캡슐화)란? 사용 방법과 이유 OOP에는 inheritance, encapsulation, polymorphism, abstraction 이라는 네가지 핵심개념이 있습니다. Encapsulation도 이 핵심 개념 중 하나에 해당하는데요, 어떠한 의미일까요? 먼저 이름에서 느껴지다시피 무언가 안에 담아 두는 것 같다는 생각이 듭니다. 실제로 encapsulation은 class 내부의 variable(data)들을 method로 감싸서 variable과 method를 하나의 유닛으로 묶어주는 것입니다. 이렇게 되면 variable에 접근하기 위해서는 method를 통할 수 밖에 없게 됩니다. 하나의 유닛으로(capsule) variable를 감싸놓는 이유는 다른 클래스에서 variable에 즉, 데이터에 직접적으로 접근하는 것을 방지.. 2022. 4. 28.
Class(4)-Composition Composition이란 Inheritance(상속)가 class간 부모-자식 관계를 만들어 주었다면, Composition(조합)은 class 들끼리 서로의 구성요소가 될 때 각 class가 가진 fields나 methods를 사용할 수 있도록 하는 방법입니다. "has a" 관계일 때 사용한다고 말하기도 하는데요 (inheritance는 "is a" 관계). 예를 들어서, 고양이와 눈(eyes)의 관계는 무엇일까요? 고양이가 눈을 가지고 있다 (A cat has eyes) 라고 할 수 있겠죠. 고양이가 눈이거나 눈이 고양이인 것은 아닙니다(is a 관계가 아니라는 말입니다). 그러므로 이런 경우에는 inheritance를 사용하기보다는 composition을 사용해야 적절합니다. 이번에는 한 번 Co.. 2022. 4. 27.
반응형