본문 바로가기

IT_Developers/JAVA163

JAVA 기본 접근제어자 - private 이란 / 접근 권한 / 예제 private 대해 알아보자 안녕하세요. 고코더 입니다. 외부에서는 직접 접근할 수 없는 제어자 입니다. private 접근 제어자를 사용하면 외부에 공개되지 않는 속성을 갖습니다. 접근 권한 구조도 ● priavate 접근 제어자의 공개 범위는 같은 클래스내 입니다. 가장 폐쇄적이고 외우기 쉬운 접근 관계 입니다. - 같은 클래스에서만 접근 가능 예제 소스 클래스 내에서만 사용 가능합니다. 그래서 public과 조합하여 접근하도록 인터페이스 하는 경우가 많습니다. 123456public class GocoderClass{ private String name = "고코더"; // private 로 지정하면 같은 클래스에서만 사용가능하다. private String GocoderNet() { return .. 2020. 3. 13.
JAVA 기본 접근제어자 - default 이란? / 접근 권한 / 예제 default에 대해 알아보자! 안녕하세요. 고코더 입니다. 접근제어자를 별도로 설정하지 않으면 default 접근제어자가 됩니다. 그래서 default 라고 지칭합니다. package 접근제어자라고 부르는 강의도 있긴 한데 보통 디폴트라고 지칭합니다. class 앞에도 아무것도 입력하지 않으면 기본 접근 제어자 default로 지정 됩니다. 접근 구조도 접근 권한은 아래와 같습니다. - 같은 패키지에서만 접근 가능 예제 소스 ● 변수명에 아무런 접근제한자를 입력하지 않았습니다. 그러면 자동으로 default 제한자 입니다. 같은 패키지 안에서 접근 가능하겠죠. 12345package GoCoderNet; class GocoderClass { String name= "고코더";}cs ● 같은 패키지안에서.. 2020. 3. 13.
JAVA 기본 접근제어자 - protected 이란? / 접근 범위 / 예제 protected에 대해 알아보자! 안녕하세요. 고코더 입니다. protected 접근제어자나는 부모 클래스에 대해서는 접근이 가능하나 외부에서는 접근이 불가능합니다. protected의 경우는 public이랑 비슷한 느낌이 들 수 있습니다. 상속만 하면 자유롭게 사용이 가능하기 때문입니다. 이 접근제어자는 아키텍처가 구현할 내용이 남아있거나 정확한 컨셉을 잡지 않은 경우 사용하는 경우가 있습니다. 예외가 있는 객체라면 이 접근제어자로 생성해두고 이를 수정할 수 있기 때문입니다. protected 접근 구조도 해당 접근 제어자가 접근 가능한 범위는 이와 같습니다. public이랑 가장 가까운 접근제어자 입니다. - 같은 클래스 - 같은 패키지 - 상속받은 클래스 ● protected로 변수를 선언합니다... 2020. 3. 13.
JAVA 기본 접근제어자 - public 이란? / 접근 범위 / 예제 public 을 알아보자 안녕하세요. 고코더 입니다. 지난 시간에 자바에서 사용하는 기본 접근 제어자를 배워보았습니다. 첫번째는 public 제어자를 알아봅니다. 퍼블릭은 단어 뜻 그대로 일반적인 대중적인 접근 제어자 입니다. 어떤 클래스에서도 접근 가능할 수 있도록 열어놓는다는 뜻입니다. 그리고 자바에서는 public 메소드를 통해 private 멤버에 접근할 수 있습니다. public 와 private 사이의 인터페이스 역할을 수행 하기도 합니다. public 접근 이미지 구조도 그림을 참조해보겠습니다. 퍼블릭으로 선언된 접근제어자는 같은 패키지 클래스는 물런이고 다른 패키지의 클래스도 접근이 가능합니다. 예제소스 public을 사용한 변수와 메소드 입니다. 해당 코드는 어디에서나 객체를 만들어 접근.. 2020. 3. 13.
JAVA - 접근 제어자(access modifier) / 상세하게 접근 제어자에 대해 알아봅시다. 안녕하세요. 고코더 입니다. 자바에는 다음과 같은 접근 제어자가 있다. 접근을 접근제어자 문법을 만든 이유는 외부에서 잘못 변경되는 것을 막기 위해서입니다. 사용자로부터 최소한의 정보를 제공하는 은닉성 때문입니다. 접근 제어자는 자바에서 4가지 방식이 존재합니다. 이름 기호 설명 private - 자기 자신의 클래스에서 접근 default(package) ~ 동일한 패키지 접근(명시하지 않으면 default) protected # 파생 클래스, 동일한 패키지 접근 public + 접근 제한이 없음 접근 제어자 범위 접근 제어자의 범위를 표로 나타내었습니다. private < default < protected < public 순으로 접근에 대한 범위가 넓습니다. publi.. 2020. 3. 12.
JAVA - 가비지컬렉션(garbage collection)이란? / Stop The World / 예제 자바 메모리의 쓰레기 수거? 안녕하세요. 고코더 입니다. 자바의 중요한 특징 중 하나인 가비지컬렉션을 알아봅니다. 직역하면 "쓰레기 수거"라고 번역되는데요. 말 그대로 메모리 상에 있는 쓰레기를 수거 하는 방법 입니다. 불필요하게 저장된 메모리 영역을 해체하는 기능을 합니다. 1959년 존 매카시가 개발하였습니다. 이런 특성 덕분에 자바는 알아서 메모리를 정리하기 때문에 개발이 수월한 면이 있습니다. 직접 메모리를 관리하는 C, C++ C, C++ 에서는 메모리를 명시적으로 직접 해체해야 합니다. 그래서 메모리 관리를 하지 못하면 memory leak이 발생합니다. 직접적인 메모리 영역을 다루기 때문에 더 좋은 성능으로 프로그램을 작성 할 수 있습니다. 가비지 컬렉션(GC) 예제 자바는 OS 의 메모리 .. 2020. 3. 12.
JAVA - 오버라이딩(Overriding)이란? / 예제 소스 오버라이딩을 알아보자 안녕하세요. 고코더 입니다. 오버라이딩은 상위 클래스에서 가지고 있는 메소드를 하위 클래스에서 메소드에서 재정의해서 사용할 수 있는걸 말합니다. 다시 말하면 상속에서 나온 개념입니다. 부모 클래스의 메소드를 자식 클래스의 메소드로 정의하는 것입니다. 오버라이딩시에 메소드의 이름, 매개변수, 리턴 값이 같아야 한다. book.java, bookstore.java : 오버라이딩 사용 12345678910111213141516171819 public class Book{ public String name; public int price; public void print(){ System.out.println("책 이름 "+this.name+ ", 가격은" + this.price); } }.. 2020. 3. 11.
JAVA - 다형성(Polymorphis)이란? 다형성이 무엇인지 알아보자? 안녕하세요. 고코더 입니다. 다형성의 국어사전 뜻은 이와 같습니다. 자바에서 사용하는 다형성을 설명하기에 좋아보여 참고합니다. 동일종(同一種)의 생물이면서도 형태나 성질이 다양성을 보이는 상태. 암수에 의한 크기·형태·색깔 등의 차이와 꿀벌에서의 여왕벌과 일벌 같은 것. 다형성은 객체지향 프로그램에 특징 중 하나 입니다. 상속이 대표적인 개념이기도 합니다. 서로 다른 클래스의 객체가 같은 값을 받은 후 각자의 방식으로 동작하는 능력을 말합니다. 하나의 객체가 여러가지 타입을 가질 수 있는 것을 의미 합니다. - 여러 가지 형태를 가질 수 있다 - 하나의 참조변수로 여러 타입의 객체를 참조 - 부모 타입의 참조변수로 자손타입의 객체를 다룬다. 다형성 비유 지금 이 글을 보고 있.. 2020. 3. 11.
JAVA - 오버로딩(Overloading)이란? / 예제 소스 / 컴파일 원리 오버로딩 사용하는 방법 원리 안녕하세요. 고코더 입니다. 자바가 가지고 있는 다형성 특징 중에 메소드를 오버로딩 하는 방법이 있습니다. 같은 이름의 메소드를 매겨 변수의 유형과 갯수를 통해 다르게 사용 가능하도록 하는 기술입니다. 예제 소스를 작성하면서 좀 더 알아보겠습니다. OverloadingGO.java : 오버로딩을 사용합니다. 1234567891011121314public class OverloadingGO{ void overloading(){ System.out.println("변수 없음"); } void overloading(int a, string b){ System.out.println("변수 "+ a + ", " + b); } void overloading(double c){ Syste.. 2020. 3. 11.