본문 바로가기

Java5

캡슐화 (Encapsulation) 안녕하세요 :) 회사에서 1인분 해내고 싶은 Ulegi 입니다 😂 Java프로젝트를 진행할때 그냥 생코딩을 한다고 되는게 아니라 생각해야할 규칙이 많이 있네요! 오늘은 그 중 캡슐화에 대해 알아보겠습니다. 캡슐화 (Encapsulation) 캡슐화 란 무엇일까? 캡슐화는 객체가 내부적으로 기능을 어떻게 구현하지는지를 숨기는 것입니다. 좀 더 상세하게 풀어 이야기 하자면, 같은 목적을 가지는 변수와 함수를 하나의 클래스로 묶어서 외부에서 쉽게 접근하지 못하도록 숨기는 것이죠. 결국 객체가 제공하는 필드와 메서드를 통해서만(외부에서 내부의 정보 접근 및 수정 불가하도록) 접근을 가능하게 하는 것입니다. 캡슐화를 왜 사용할까? 캡슐화 사용의 이유는 중요한 데이터를 쉽게 바꾸지 못하도록 하는 것입니다. 캡슐화를.. 2023. 3. 6.
오버로딩과 오버라이드 (Overload 와 Override) 안녕하세요? Java 잘하고 싶은 Ulegi 입니다ㅋㅋ Java 코드를 보다보면 @Override가 붙은 코드를 많이 보셨죠? 그 밑에는 계속 똑같은 이름의 메소드가 여러개 붙어있구요. 도무지 무슨 의미인지도 모르겠구요... 오늘은 오버로딩(overloading) 과 오버라이딩 (overriding)에 대해 적어보았습니다! 오버로딩 이란? JAVA 한 클래스 내에서 이미 정의된 클래스와 같은 이름의 메소드를 정의 하는 것을 의미합니다. (대신! 매개변수의 개수 혹은 타입이 달라야 가능) +리턴 값이나 접근제어자 (public, private 등) 만 다른 것으로는 오버로딩 불가합니다. class TestClass { public void Test() { System.out.println("테스트1"); .. 2023. 2. 14.
클래스, 인스턴스, 생성자 비교 & 정리 안녕하세요! JAVA 못하는 Ulegi 입니다 ㅋㅋㅋ 오늘은 java 프로젝트 코드를 읽을 때, 가장 저를 오랫동안 힘들게 했던 클래스, 인스턴스, 생성자의 개념과 이들을 비교하여 설명해보겠습니다 :) 모두 비슷하게 느껴지구 왜 쓰는지도 몰랐었거든요ㅜㅜㅠ 우선 사용 예시를 한번 보고 설명을 드리면 훨씬 편하게 이해하실 것 같습니다! 예시1이 ConstructorTest 라는 클래스를 정의한 코드 예시2가 main 함수를 포함하는 코드 입니다. 예시1 class ConstructorTest { // => 클래스 int temp; /* ConstructorTest() { // 컴파일 시, 자동 삽입되는 default생성자 (사용자 정의 생성자가 없을 시에 자동 생성) // 모든 클래스는 생성자가 존재 } *.. 2023. 2. 10.
.java 파일 .class 파일 차이 안녕하세요! Ulegi 입니다 :) JAVA를 이해라도 하고 싶은데 어렵군요 ㅎㅎㅎ java 프로젝트를 수행할 때, 프로젝트에서 여러 파일들이 존재하죠? 그 중 자주 보이는 .java 파일과 .class 파일의 차이가 무엇일까요? .java 파일 - 저희가 코딩하는 프로그램 소스가 담긴 파일이 .java 파일입니다. .class 파일 - 저희 코딩한 .java 파일이 컴파일러를 거쳐 컴파일 되면 생성됩니다. - 이 class 파일이 JVM 을 거쳐서 실행이 됩니다. - 보통 .java 파일(컴파일 전 파일)과 이름이 동일합니다. 정리하자면! .java 파일에서 프로그래밍 (소스코드 수정) | 컴파일러 | .class 파일 생성 (바이트 코드 파일 - 실행파일) | JVM | 실행 순서입니다 :) 2023. 2. 9.