Back-End/Java 검색 결과
private 멤버 변수를 사용하는 이유 실제 개발을 할 때, VO(DTO) 에서 자주 쓰이지만 정작 private 를 사용하는 이유를 모르고 사용한다. 이렇게 ctrl+c, ctrl+v 를 하는 하찮은(?) 개발자가 안되겠다 생각하며 다시 한번 정리하는 시간을 가져야 한다고 느꼈다. 굳이 public 메소드를 사용하면서 private 접근제어를 사용하는 이유가 무엇일까요? 간단하게 설명하면, 캡슐화와 자료보호에 대한 목적입니다. 해당 클래스의 내부에서만 사용할 수 있도록 하는 것입니다. 프로젝트를 진행할 때, 나홀로 진행하는 것이라면 상관없지만 다수가 함께 참여하여 진행하는 프로젝트의 경우 해당 자료를 보호할 수 있도록 private 멤버 변수를 사용하는 것이 좋습니다.
추상클래스와 인터페이스 (abstract, interface) 추상클래스 (abstract) 란? 협업 프로젝트를 진행할 때, 소통을 위해 만들어진 개념입니다. abstract class 클래스명 { } 생성은 이렇게 할 수 있고, 그 내용으로는 함수가 선언될 수 있으나 그 함수의 구현 내용은 없습니다. 이 추상클래스는 다른 클래스에서 확장(extend) 을 통해 사용할 수 있는데, 반드시 추상클래스가 선언한 모든 추상 깡통함수들을 재정의하도록 강요합니다. 일반적인 상속은 상속받은 클래스가 상위 클래스 중에서 바꾸고 싶은 함수만 재정의하여 사용하지만 추상 클래스를 상속받으면 반드시 모든 깡통 함수를 재정의해야 합니다. 특정 함수들의 오버라이드 (Override) 를 강제할 수 있다는 뜻이죠. abstra..
this 용법과 활용 this 인스턴스 자신을 가리키는 참조변수로 인스턴스의 주소가 저장되어 있습니다. 모든 인스턴스 메소드에 지역번수로 숨겨진 채 존재합니다. this 정의 자기 자신 클래스(객체) 를 가리킵니다. ※ this의 특징 객체 자신에 대한 참조값을 갖습니다.. (즉, 자신을 가리키는 것입니다.) 메소드 내에서만 사용됩니다. 객체 자신을 메소드에 전달하거나 리턴하기위해 사용되기도 합니다. this 를 사용함으로써 모호하지 않고 명확한 프로그램을 작성할 수 있습니다. 객체 생성자 내에서 사용할 경우, 다른 생성자를 호출합니다. (this 용법 1) 매개변수와 객체 자신이 가지고 이쓴 변수의 이름이 같은 경우 이를 구분하기 위해 자신의 변수에 this 를 사용합니다. (this 용법 2) sta..
main 메소드에서 static 을 적는 이유 일반적으로 프로그램은 메모리(Memory)에 로드(load)된 후 실행됩니다. Java 프로그램도 동일하죠. 클래스 new() 라는 키워드를 통해 인스턴스가 생성되는 순간 메모리에 로드됩니다. main 메소드(Method) 는 JRE 에 의해 최초로 실행되는 메소드입니다. main 메소드가 존재하는 클래스는 new 라고 하는 키워드를 통해 인스턴스가 만들어지지 않았습니다. 이렇게 된다면 앞의 이야기가 모순이 되는 것이죠. main 메소드가 있는 클래스는 인스턴스가 만들어지지 않아서 메모리에 로드가 되지 않을텐데, 어떻게 실행되는 걸까요? 그 역할을 하는 것이 바로 static 입니다. static 키워드는 메소드나 필드 앞에 붙을 수 있으며, static 키..
Java 메모리 구조 메모리 (Memory) 프로그램을 실행하기 위한 데이터 및 명령어를 저장하는 공간입니다. ※ 메모리 구조를 공부하는 이유 같은 기능의 프로그램이더라도 메모리 관리에 따라 성능이 좌우됩니다. 메모리 관리가 제대로 되지 않은 경우 속도가 저하되거나 튕김 현상이 발생할 수 있습니다. 한정된 메모리를 효율적으로 사용하여 최고의 성능을 내기 위함입니다. Java 프로그램 실행 구조 프로그램이 실행되기 위해서는 윈도우(window) 나 리눅스(linux) 등의 운영체제(OS) 가 제어하고 있는 시스템의 리소스의 일부인 메모리(RAM, 주기억장치) 를 제어할 수 있어야하는데, Java 이전에 C 와 같은 대부분의 언어로 만들어진 프로그램은 이러한 이유때문에 OS에 종속되어 실행되어졌습니다. Ja..
최근댓글