분류 전체보기 (351) 썸네일형 리스트형 [SWEA] D3. Sum (JAVA) https://swexpertacademy.com/main/talk/solvingClub/problemView.do?solveclubId=AYUu1hG6O44DFARs&contestProbId=AV13_BWKACUCFAYh&probBoxId=AYUyLam6ojkDFARs&type=PROBLEM&problemBoxTitle=%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98+Track+%28%EB%82%9C%EC%9D%B4%EB%8F%84+%EC%A4%91%29&problemBoxCnt=5 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1. 해결방법 그냥 Math.max로 행, 열, 대각선의 합을.. [SWEA] D5. 최적 경로 https://swexpertacademy.com/main/talk/solvingClub/problemView.do?solveclubId=AYUu1hG6O44DFARs&contestProbId=AV15OZ4qAPICFAYD&probBoxId=AYUyLcVaojsDFARs&type=PROBLEM&problemBoxTitle=%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98+Track+%28%EB%82%9C%EC%9D%B4%EB%8F%84+%EC%83%81%29&problemBoxCnt=6 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1. 해결방법 가지치기를 하면 좋지만 아직 실력이 부족해서 모.. [JAVA] 다형성 Polymorphism 1. 다형성(Polymorphism) 다형성이라는 개념은 객체 지향 프로그래밍에서 아주 중요한 개념이다. 당연히 자바에서도 굉장히 중요하게 여기고 있고, 다형성을 모른다면 객체 지향 프로그래밍을 쓸 수 없을 만큼 치명적이다. 아래의 코드는 People라는 클래스이다. 클래스 안에는 printInfo라는 메서드를 작성했다. class People { public void printInfo() { System.out.println("사람"); } } public class StringTest { public static void main(String[] args) { People p = new People(); p.printInfo(); } } 위 코드 결과는 당연히 "사람" 일 것이다. 그렇다면 Man과 .. [JAVA] String 객체 생성과 Constant Pool 자바에는 String 객체를 생성하는 방법이 두 가지 있다. 물론 생성되는 String 객체는 물론 값이 아닌 객체 즉, heap 영역에 생성된다. String 객체를 생성하는 방법은 스트링 리터럴과 new 연산자를 이용한 객체 생성 방법이다. 간단한 코드를 예시로 두 가지의 차이점을 알아보자. public class StringTest { public static void main(String[] args) { String name1 = new String("name"); String name2 = "name"; String name3 = "name"; String name4 = new String("name"); if (name1 == name3) { System.out.println("name1 =.. [JAVA] Call by value, Call by reference의 이해 자바를 사용하다보면 메서드에 값(primitive type)을 전달하는 것과 객체(reference type)를 전달하는 것과는 매우 큰 차이가 있다. 원시 타입과 참조 타입을 구별하고 이해하고 사용하는 것은 정말이지 너무나도 중요하다. Call by value 메서드를 호출할 때 값을 넘겨준다. 즉, 메서드를 호출하는 호출자(Caller)의 변수와 당하는 수신자(Callee)픠 파라미터는 복사된 서로 다른 변수이다. 값만을 전달하기 때문에 수신자와 파라미터를 수정해도 변수에는 아무런 영향이 없다. Call by reference 참조(주소)를 직접 전달한다. 참조를 넘기기 때문에 호출자의 변수와 수신자의 파라미터는 완전히 동일한 변수이다. 메서드 내에서 파라미터를 수정하면 그대로 원본 변수에도 반영된다.. [JAVA] final 키워드가 대체 무엇일까? 문법 공부를 하다보면 final이라는 키워드가 가끔 보인다. 그럼 final이라는건 대체 뭘까? 1. Final 자바 언어에서 오직 한 번만 할당할 수 있는 키워드가 있다. 그것이 바로 final이다. final로 선언된 변수가 할당되면 항상 같은 값을 가진다. 즉, 한번 할당되면 객체의 상태가 바뀌어도 final 변수는 매번 동일한 내용을 참조한다. 그러면 final 키워드는 어디에서 사용할까? final은 클래스, 메서드, 변수 각각에 다 붙을 수 있다. 2. final 클래스 public final class MyFinalClass{}// final 클래스 선언 public class ThisIsWrong extends MyFinalClass{}// 상속 불가 ! final이 붙어있는 클래스는 상속.. [JAVA] IS - A, HAS - A 자바에서 클래스를 생성하다 보면 다른 클래스를 상속하는 경우가 많다. 이럴 때 필요한 것이 IS - A 관계이다. 상속을 사용하지 않는 HAS-A관계도 있기 때문에 두 가지의 관계를 정리할 것이다. 1. IS - A 자바 내에서 어느 한 클래스가 다른 클래스를 상속받기 위해서는 IS-A관계를 사용해야 한다. IS-A (is a relationship, inheritance)는 일반적인 개념과 구체적인 개념의 관계이다. 위 처럼 Animal과 Human, Cow, Bird는 서로 상속 관계를 의미하는 사진이다. 코드로 보면, # Animal class class Animal { String name; void setName(String name) { this.name = name; } } # Human c.. [JAVA] 멤버 변수와 로컬 변수 변수는 데이터를 저장하는 공간인데, 자바의 변수는 크게 멤버 변수와 로컬 변수로 나뉜다. 1. 로컬 변수 (Local Variable) 로컬 변수는 메서드 내부에서 선언되는 변수이다. 사용 범위 역시 메서드 내부에서만 유효하다. 사용하는 메모리는 stack 메모리이며, 메서드가 호출될 때 생성되었다가 끝나면 소멸한다. 2. 멤버 변수 (Member Variable) 클래스 내부에 선언하며 해당 클래스의 속성과 특성을 나타낸다. 흔히 클래스는 인스턴스로 사용하는 경우가 많기 때문에 멤버변수를 인스턴스 변수라고 칭하는 경우가 많다. 멤버 변수는 클래스의 속성을 나타내면서 각각의 인스턴스 마다 다른 값을 갖게 할 용도로 사용한다. 사용범위는 해당 클래스 전체이다. private가 아니라면 참조변수를 이용해 다.. 이전 1 ··· 5 6 7 8 9 10 11 ··· 44 다음